byte數(shù)組轉(zhuǎn)化為String
為什么MD5加密經(jīng)過(guò)MessageDigest處理以后生成的byte[]數(shù)組,在轉(zhuǎn)換成String型時(shí),要用Hex.encodeHexString(bytes),而不能直接用new String(byte[]數(shù)組)呢,否則會(huì)出現(xiàn)亂碼?
MessageDigest md = MessageDigest.getInstance("MD5");
byte[] bytes=md.digest(src.getBytes());
//System.out.println("jdkMd5 byte數(shù)組轉(zhuǎn)String :" +new String(bytes)); 亂碼
System.out.println("jdkMd5 :" +Hex.encodeHexString(bytes));
2016-08-23
MD5 Message-Digest算法計(jì)算一個(gè)字符串 str 的MD5哈希值并返回. 這個(gè)哈希值是一個(gè)32個(gè)字符的16進(jìn)制數(shù).