From 190d2d153d6737830f6173c7de1b0bc03e6d7dac Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期四, 08 五月 2025 12:52:34 +0800 Subject: [PATCH] no message --- rsf-framework/src/main/java/com/vincent/rsf/framework/common/Cools.java | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 44 insertions(+), 0 deletions(-) diff --git a/rsf-framework/src/main/java/com/vincent/rsf/framework/common/Cools.java b/rsf-framework/src/main/java/com/vincent/rsf/framework/common/Cools.java index 9db8b48..ae5b824 100644 --- a/rsf-framework/src/main/java/com/vincent/rsf/framework/common/Cools.java +++ b/rsf-framework/src/main/java/com/vincent/rsf/framework/common/Cools.java @@ -5,6 +5,7 @@ import java.lang.reflect.*; import java.nio.charset.StandardCharsets; import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; import java.util.*; /** @@ -371,4 +372,47 @@ return intersection; } + + /** + * 瀵规眽瀛楀瓧绗︿覆杩涜MD5鍔犲瘑 + * @param input 瑕佸姞瀵嗙殑姹夊瓧瀛楃涓� + * @return 32浣嶅皬鍐橫D5鍝堝笇鍊� + * @throws NoSuchAlgorithmException + */ + public static String md5Chinese(String input) throws NoSuchAlgorithmException { + if (input == null) { + return null; + } + + // 缁熶竴浣跨敤UTF-8缂栫爜 + byte[] inputBytes = input.getBytes(StandardCharsets.UTF_8); + + MessageDigest md = MessageDigest.getInstance("MD5"); + byte[] digest = md.digest(inputBytes); + + // 灏嗗瓧鑺傛暟缁勮浆鎹负16杩涘埗瀛楃涓� + StringBuilder sb = new StringBuilder(); + for (byte b : digest) { + sb.append(String.format("%02x", b)); + } + + return sb.toString(); + } + + /** + * 楠岃瘉姹夊瓧瀛楃涓蹭笌MD5鍝堝笇鏄惁鍖归厤 + * @param input 瑕侀獙璇佺殑姹夊瓧瀛楃涓� + * @param md5Hash 瀛樺偍鐨凪D5鍝堝笇鍊� + * @return 濡傛灉鍖归厤杩斿洖true锛屽惁鍒檉alse + */ + public static boolean verifyChinese(String input, String md5Hash) { + try { + String computedHash = md5Chinese(input); + return computedHash.equals(md5Hash.toLowerCase()); + } catch (NoSuchAlgorithmException e) { + // 鐞嗚涓婁笉浼氬彂鐢燂紝鍥犱负MD5鏄疛ava鏍囧噯搴撴敮鎸佺殑 + return false; + } + } + } -- Gitblit v1.9.1