|
@@ -0,0 +1,52 @@
|
|
|
+package com.songhua.web.controller.utils;
|
|
|
+
|
|
|
+import java.security.MessageDigest;
|
|
|
+import java.security.NoSuchAlgorithmException;
|
|
|
+
|
|
|
+public class MD5Encryptor {
|
|
|
+
|
|
|
+ // MD5 加密(32 位小写)
|
|
|
+ public static String md5EncryptToLowercase(String str) {
|
|
|
+ return md5Encrypt(str).toLowerCase();
|
|
|
+ }
|
|
|
+
|
|
|
+ // MD5 加密(32 位大写)
|
|
|
+ public static String md5EncryptToUppercase(String str) {
|
|
|
+ return md5Encrypt(str).toUpperCase();
|
|
|
+ }
|
|
|
+
|
|
|
+ // MD5 加密
|
|
|
+ private static String md5Encrypt(String str) {
|
|
|
+ try {
|
|
|
+ // 创建 MessageDigest 对象
|
|
|
+ MessageDigest md = MessageDigest.getInstance("MD5");
|
|
|
+ // 将输入字符串转换为字节数组
|
|
|
+ byte[] inputBytes = str.getBytes();
|
|
|
+ // 计算 MD5 哈希值
|
|
|
+ byte[] hashBytes = md.digest(inputBytes);
|
|
|
+ // 将字节数组转换为十六进制字符串
|
|
|
+ StringBuilder hexString = new StringBuilder();
|
|
|
+ for (byte hashByte : hashBytes) {
|
|
|
+ String hex = Integer.toHexString(0xFF & hashByte);
|
|
|
+ if (hex.length() == 1) {
|
|
|
+ hexString.append('0');
|
|
|
+ }
|
|
|
+ hexString.append(hex);
|
|
|
+ }
|
|
|
+ return hexString.toString();
|
|
|
+ } catch (NoSuchAlgorithmException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ String str = "123456";
|
|
|
+ // 封装 MD5 加密结果(32 位小写)
|
|
|
+ String encryptedLowercase = md5EncryptToLowercase(str);
|
|
|
+ System.out.println("32-bit Lowercase: " + encryptedLowercase);
|
|
|
+ // 封装 MD5 加密结果(32 位大写)
|
|
|
+ String encryptedUppercase = md5EncryptToUppercase(str);
|
|
|
+ System.out.println("32-bit Uppercase: " + encryptedUppercase);
|
|
|
+ }
|
|
|
+}
|