免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Apache的加密算法和java自帶的加密算法

        最近研究了下加密的操作,自己本身對(duì)加密不是很熟悉,看了一下java對(duì)加密的一些操作,在這里總結(jié)一下。java從1.5之后提供了Base64Encoder和Base64Decoder。為大家用的普遍的方法先MD5加密然后base64編碼,代碼如下:

01import java.io.UnsupportedEncodingException;
02import java.security.MessageDigest;
03import java.security.NoSuchAlgorithmException;
04 
05import org.apache.commons.codec.binary.Base64;
06import org.apache.commons.codec.digest.DigestUtils;
07 
08import sun.misc.BASE64Encoder;
09 
10public class EncryptUtil {
11    /**
12     * 使用java原生(先MD5加密在base64編碼)
13     *
14     * @param str
15     * @return
16     */
17    public static String MD5Encode(String str) {
18        String newString = '';
19        BASE64Encoder base64Encoder = new BASE64Encoder();
20        try {
21            MessageDigest digest = MessageDigest.getInstance('MD5');
22            newString = base64Encoder.encode(digest.digest(str
23                    .getBytes('utf-8')));
24        } catch (NoSuchAlgorithmException e) {
25            e.printStackTrace();
26        } catch (UnsupportedEncodingException e) {
27            e.printStackTrace();
28        }
29        return newString;
30    }
31 
32    /**
33     * 使用Apache的工具類(lèi)
34     * @param str
35     * @return
36     */
37    public static String MD5Encode2(String str) {
38        String newString = '';
39        try {
40            newString = Base64.encodeBase64String(DigestUtils.md5(str
41                    .getBytes('utf-8')));
42        } catch (UnsupportedEncodingException e) {
43            e.printStackTrace();
44        }
45        return newString;
46    }
47 
48    public static void main(String[] args) {
49        System.out.println(EncryptUtil.MD5Encode('哆啦A夢(mèng)'));
50        System.out.println(EncryptUtil.MD5Encode2('哆啦A夢(mèng)'));
51    }
52}

看了下源碼,Apache的MD5加密底層用的是java的MessageDigest,使用起來(lái)較為方便。當(dāng)然還對(duì)sha算法進(jìn)行了封裝:

01public String encode(String str) {
02        try {
03            Hex.encodeHexString(DigestUtils.md5(str));
04            //查看源碼等價(jià)于
05            DigestUtils.md5Hex(str);
06             
07            DigestUtils.shaHex(str);
08             
09            Hex.encodeHexString(DigestUtils.sha256(str));
10            //查看源碼等價(jià)于
11            DigestUtils.sha256Hex(str.getBytes('utf-8'));
12             
13            DigestUtils.sha384Hex(str);
14            DigestUtils.sha512Hex(str);
15        } catch (UnsupportedEncodingException e) {
16            e.printStackTrace();
17        }
18        return str;
19    }
20}
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
java中進(jìn)行加密和解密的方法
簽名-Md5加密
string和byte[]的轉(zhuǎn)換 (C#)
如何使用php實(shí)現(xiàn)asc、binary以及hex之間的互換
[Python] 字符串與 hex 之間的相互轉(zhuǎn)換
2015《Java語(yǔ)言程序設(shè)計(jì)》_A卷
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服