Java MD5加密方法
阿新 • • 發佈:2019-01-10
package com.dataservice.utils;
import java.security.MessageDigest;
import org.springframework.util.Base64Utils;
public class MD5Util {
private static final String ALGORITHM = "MD5";
public static String getMD5(String message) throws Exception {
MessageDigest digest = MessageDigest.getInstance(ALGORITHM);
byte [] hashedBytes = digest.digest(message.getBytes("UTF-8"));
return convertByteArrayToHexString(hashedBytes);
}
private static String convertByteArrayToHexString(byte[] arrayBytes) {
StringBuilder sb = new StringBuilder();
for (byte arrayByte : arrayBytes) {
sb.append(Integer.toString((arrayByte & 0xff ) + 0x100, 16).substring(1));
}
return sb.toString();
}
public static String encodeMD5ANDBase64(String originstr) throws Exception {
String result = null;
if (originstr != null) {
// 返回實現指定摘要演算法的 MessageDigest 物件
MessageDigest md = MessageDigest.getInstance("MD5" );
// 使用utf-8編碼將originstr字串編碼並儲存到source位元組陣列
byte[] source = originstr.getBytes("utf-8");
// 使用指定的 byte 陣列更新摘要
md.update(source);
// 通過執行諸如填充之類的最終操作完成雜湊計算,結果是一個128位的長整數
byte[] tmp = md.digest();
result = Base64Utils.encodeToString(tmp);
}
return result;
}
}