很少說,直接貼代碼
public static void MD5Test() {
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
String s = "ss"; // 將要加密的字符串
System.out.println("加密以前的字符串:" + s);
md.update(s.getBytes()); // MD5加密算法只是對字符數組而不是字符串進行加密計算,獲得要加密的對象
byte[] bs = md.digest(); // 進行加密運算並返回字符數組
for (byte b : bs) {
System.out.print(b + "|"); // 打印出來加密後的字符數組
}
System.out.println();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < bs.length; i++) { // 字節數組轉換成十六進制字符串,造成最終的密文
int v = bs[i] & 0xff;
if (v < 16) {
sb.append(0);
}
sb.append(Integer.toHexString(v));
}
System.out.println("加密以後的字符串:" + sb);
}