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;
}
}
Java MD5加密方法
最新推荐文章于 2025-10-09 14:55:04 发布
本文介绍了一个实用的工具类,用于实现字符串的MD5加密及后续的Base64编码。提供了完整的Java代码示例,包括获取MD5摘要、转换字节数组为十六进制字符串的方法。
648

被折叠的 条评论
为什么被折叠?



