From 2a9bb7f2b68766cbc112a3858ef80ba3a7433826 Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Mon, 2 Mar 2026 09:57:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0MD5=E5=8A=A0=E5=AF=86?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E7=B1=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ruoyi/lsfx/util/MD5Util.java | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 ccdi-lsfx/src/main/java/com/ruoyi/lsfx/util/MD5Util.java diff --git a/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/util/MD5Util.java b/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/util/MD5Util.java new file mode 100644 index 0000000..1c832c7 --- /dev/null +++ b/ccdi-lsfx/src/main/java/com/ruoyi/lsfx/util/MD5Util.java @@ -0,0 +1,45 @@ +package com.ruoyi.lsfx.util; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * MD5加密工具类 + */ +public class MD5Util { + + /** + * MD5加密 + * @param input 待加密字符串 + * @return MD5加密后的32位小写字符串 + */ + public static String encrypt(String input) { + try { + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] messageDigest = md.digest(input.getBytes()); + StringBuilder hexString = new StringBuilder(); + for (byte b : messageDigest) { + String hex = Integer.toHexString(0xff & b); + if (hex.length() == 1) { + hexString.append('0'); + } + hexString.append(hex); + } + return hexString.toString(); + } catch (NoSuchAlgorithmException e) { + throw new RuntimeException("MD5加密失败", e); + } + } + + /** + * 生成安全码 + * @param projectNo 项目编号 + * @param entityName 项目名称 + * @param appSecret 应用密钥 + * @return MD5安全码 + */ + public static String generateSecretCode(String projectNo, String entityName, String appSecret) { + String raw = projectNo + "_" + entityName + "_" + appSecret; + return encrypt(raw); + } +}