diff --git a/MD5Utils.java b/MD5Utils.java new file mode 100644 index 0000000..f89da2f --- /dev/null +++ b/MD5Utils.java @@ -0,0 +1,28 @@ +package com.utils; // 声明工具类所在包 + +import java.math.BigInteger; // 导入大整数处理类 +import java.security.MessageDigest; // 导入消息摘要类 +import java.security.NoSuchAlgorithmException; // 导入无此算法异常类 + +public class MD5Utils { // MD5加密工具类 + + // MD5加密方法 + public static String md5(String plainText) { + byte[] secretBytes = null; // 声明字节数组存储加密结果 + try { + // 获取MD5算法实例并执行加密 + secretBytes = MessageDigest.getInstance("md5").digest( + plainText.getBytes()); + } catch (NoSuchAlgorithmException e) { + // 抛出运行时异常(MD5算法不存在时) + throw new RuntimeException("没有这个md5算法!"); + } + // 将字节数组转换为16进制字符串 + String md5code = new BigInteger(1, secretBytes).toString(16); + // 补全32位MD5字符串(前面补0) + for (int i = 0; i < 32 - md5code.length(); i++) { + md5code = "0" + md5code; + } + return md5code; // 返回32位MD5加密字符串 + } +} \ No newline at end of file