例子:
import java.security.MessageDigest;
public class Test2 {
public static void main(String[] args) {
Test2 t = new Test2();
System.out.println(t.bytesToMD5("a".getBytes()));
}
//把字節數組轉成16進位制數
public String bytesToHex(byte[] bytes) {
StringBuffer md5str = new StringBuffer();
//把數組每壹字節換成16進制連成md5字符串
int digital;
for (int i = 0; i < bytes.length; i++) {
digital = bytes[i];
if(digital < 0) {
digital += 256;
}
if(digital < 16){
md5str.append("0");
}
md5str.append(Integer.toHexString(digital));
}
return md5str.toString();
}
//把字節數組轉換成md5
public String bytesToMD5(byte[] input) {
String md5str = null;
try {
//創建壹個提供信息摘要算法的對象,初始化為md5算法對象
MessageDigest md = MessageDigest.getInstance("MD5");
//計算後獲得字節數組
byte[] buff = md.digest(input);
//把數組每壹字節換成16進制連成md5字符串
md5str = bytesToHex(buff);
} catch (Exception e) {
e.printStackTrace();
}
return md5str;
}
}