From e608cd8a5c8f8e09041512ab5507eca125e7cbde Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期二, 06 十二月 2022 14:15:08 +0800
Subject: [PATCH] fix: 预警研判保存

---
 ycl-common/src/main/java/com/ycl/utils/MD5Util.java |   38 ++++++++++++++++++++++----------------
 1 files changed, 22 insertions(+), 16 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/utils/MD5Util.java b/ycl-common/src/main/java/com/ycl/utils/MD5Util.java
index df1d411..203f572 100644
--- a/ycl-common/src/main/java/com/ycl/utils/MD5Util.java
+++ b/ycl-common/src/main/java/com/ycl/utils/MD5Util.java
@@ -101,22 +101,28 @@
     }
 
     public static String md5Encrypt(String string) {
-        byte[] hash;
-        try {
-            //鍒涘缓涓�涓狹D5绠楁硶瀵硅薄锛屽苟鑾峰緱MD5瀛楄妭鏁扮粍,16*8=128浣�
-            hash = MessageDigest.getInstance("MD5").digest(string.getBytes("UTF-8"));
-        } catch (NoSuchAlgorithmException e) {
-            throw new RuntimeException("Huh, MD5 should be supported?", e);
-        } catch (UnsupportedEncodingException e) {
-            throw new RuntimeException("Huh, UTF-8 should be supported?", e);
-        }
+            MessageDigest md5 = null;
+            try {
+                md5 = MessageDigest.getInstance("MD5");
+            } catch (NoSuchAlgorithmException e) {
+                return "check jdk";
+            } catch (Exception e) {
+                e.printStackTrace();
+                return "";
+            }
+            char[] charArray = string.toCharArray();
+            byte[] byteArray = new byte[charArray.length];
 
-        //杞崲涓哄崄鍏繘鍒跺瓧绗︿覆
-        StringBuilder hex = new StringBuilder(hash.length * 2);
-        for (byte b : hash) {
-            if ((b & 0xFF) < 0x10) hex.append("0");
-            hex.append(Integer.toHexString(b & 0xFF));
+            for (int i = 0; i < charArray.length; i++)
+                byteArray[i] = (byte) charArray[i];
+            byte[] md5Bytes = md5.digest(byteArray);
+            StringBuffer hexValue = new StringBuffer();
+            for (int i = 0; i < md5Bytes.length; i++) {
+                int val = ((int) md5Bytes[i]) & 0xff;
+                if (val < 16)
+                    hexValue.append("0");
+                hexValue.append(Integer.toHexString(val));
+            }
+            return hexValue.toString();
         }
-        return hex.toString();
     }
-}

--
Gitblit v1.8.0