成熟丰满熟妇高潮XXXXX,人妻无码AV中文系列久久兔费 ,国产精品一国产精品,国精品午夜福利视频不卡麻豆

您好,歡迎來(lái)到九壹網(wǎng)。
搜索
您的當(dāng)前位置:首頁(yè)MD5加密原理

MD5加密原理

來(lái)源:九壹網(wǎng)
簡(jiǎn)單字符串MD5加密

1.MessageDigest.getInstance("MD5").digest("需要加密的字符".getBytes()) 計(jì)算出來(lái)的結(jié)果返回的byte[]長(zhǎng)度始終為16位。

2.要記住我們計(jì)算出來(lái)的md5(32位)最后都都是固定長(zhǎng)度32的字符串

?* byte有8位,假如全部都是 11111111 那么對(duì)應(yīng)的int(10進(jìn)制)類型就是 255

* 雖然255(十進(jìn)制)和11111111(二進(jìn)制)都表示同一個(gè)數(shù),但作為String類型存儲(chǔ)255作為String類型存儲(chǔ)長(zhǎng)度為3,而11111111作為string類型存儲(chǔ)長(zhǎng)度為8

3.將byte[16]全部轉(zhuǎn)換為正數(shù)的16進(jìn)制字符串剛好是32位。

4.那么在byte[16]轉(zhuǎn)換為16進(jìn)制的固定長(zhǎng)度32的字符串。并不是為了什么,就是為了保證我們可以直觀看到的密文都是固定長(zhǎng)度的。

    public static String stringToMD5(String string) {
        try {
            byte[] hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8"));
            StringBuilder hex = new StringBuilder(hash.length * 2);
            for (byte b : hash) {
                hex.append((b & 0xFF) < 0x10 ? "0" + Integer.toHexString(b & 0xFF) : Integer.toHexString(b & 0xFF));
            }
            return hex.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

這個(gè)的做法就是想讓結(jié)果變成16進(jìn)制,每?jī)蓚€(gè)字符代表一個(gè)字節(jié)。小于0x10(16)的時(shí)候,比如a,這樣就要在它前面加個(gè)0:0a,

如果不小于0x10,比如1a,這樣就是兩位了,不用加0。?

因篇幅問(wèn)題不能全部顯示,請(qǐng)點(diǎn)此查看更多更全內(nèi)容

Copyright ? 2019- 91gzw.com 版權(quán)所有 湘ICP備2023023988號(hào)-2

違法及侵權(quán)請(qǐng)聯(lián)系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市萬(wàn)商天勤律師事務(wù)所王興未律師提供法律服務(wù)