前言:
MD5可生成16、32、64位數的簽名。
// MD5加碼,32位
public static String toMD5(String plainText) {
String result = "";
try {
//生成實現指定摘要算法的 MessageDigest 對象。
MessageDigest md = MessageDigest.getInstance("MD5");
//使用指定的字節數組更新摘要。
md.update(plainText.getBytes());
//通過執行諸如填充之類的最終操作完成哈希計算。
byte b[] = md.digest();
//生成具體的md5密碼到buf數組
int i;
StringBuffer buf = new StringBuffer("");
for (int offset = 0; offset < b.length; offset++) {
i = b[offset];
if (i < 0)
i += 256;
if (i < 16)
buf.append("0");
buf.append(Integer.toHexString(i));
}
result = buf.toString();
//System.out.println("16位: " + buf.toString().substring(8, 24));// 16位的加密,其實就是32位加密后的截取
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
