From c34375c1f233fbc4cf3e754d2c59e5abc65e87da Mon Sep 17 00:00:00 2001
From: dangsn <dangsn@vci-tech.com>
Date: 星期五, 20 十二月 2024 23:13:41 +0800
Subject: [PATCH] 图标服务功能,以及AES加密

---
 Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java |   32 ++++++++++++++++++++++++++++----
 1 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java
index b1012e8..ba11a14 100644
--- a/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java
+++ b/Source/plt-web/plt-web-parent/plt-web-base/src/main/java/com/vci/starter/web/util/Lcm/DigestUtil.java
@@ -9,6 +9,7 @@
 import javax.crypto.SecretKey;
 import javax.crypto.spec.IvParameterSpec;
 import javax.crypto.spec.SecretKeySpec;
+import java.nio.charset.StandardCharsets;
 import java.security.InvalidKeyException;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
@@ -333,16 +334,16 @@
     /**
      * aes瑙e瘑
      * @param secretKey 绉橀挜
-     * @param encryptedData     Data
+     * @param encryptedData 瀵嗘枃
      * @return digest as a hex string
      */
     public static String decryptAes(String encryptedData, String secretKey) throws Exception {
         // AES 瀵嗛挜闀垮害闇�瑕佹槸 128, 192, 鎴� 256 浣嶏紙16, 24, 鎴� 32 瀛楄妭锛�
-        byte[] keyBytes = secretKey.getBytes("UTF-8");
+        byte[] keyBytes = secretKey.getBytes(StandardCharsets.UTF_8);
         SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
 
         // 鍒濆鍖栧悜閲� IV 涔熼渶瑕佹槸 128 浣嶏紙16 瀛楄妭锛�
-        byte[] ivBytes = secretKey.substring(0, 16).getBytes("UTF-8");
+        byte[] ivBytes = secretKey.substring(0, 16).getBytes(StandardCharsets.UTF_8);
         IvParameterSpec iv = new IvParameterSpec(ivBytes);
 
         // 瑙e瘑
@@ -353,7 +354,30 @@
         byte[] decodedValue = Base64.getDecoder().decode(encryptedData);
         byte[] decryptedBytes = cipher.doFinal(decodedValue);
 
-        return new String(decryptedBytes, "UTF-8");
+        return new String(decryptedBytes, StandardCharsets.UTF_8);
+    }
+
+    /**
+     * aes瑙e瘑
+     * @param secretKey 绉橀挜
+     * @param decryptData 鏄庢枃
+     * @return digest as a hex string
+     */
+    public static String encryptAes(String decryptData, String secretKey) throws Exception{
+        // AES 瀵嗛挜闀垮害闇�瑕佹槸 128, 192, 鎴� 256 浣嶏紙16, 24, 鎴� 32 瀛楄妭锛�
+        byte[] keyBytes = secretKey.getBytes(StandardCharsets.UTF_8);
+        SecretKeySpec key = new SecretKeySpec(keyBytes, "AES");
+
+        // 鍒濆鍖栧悜閲� IV 涔熼渶瑕佹槸 128 浣嶏紙16 瀛楄妭锛�
+        byte[] ivBytes = secretKey.substring(0, 16).getBytes(StandardCharsets.UTF_8);
+        IvParameterSpec iv = new IvParameterSpec(ivBytes);
+
+        // 鍔犲瘑
+        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
+        cipher.init(Cipher.ENCRYPT_MODE, key, iv);
+
+        byte[] encryptBytes = cipher.doFinal(decryptData.getBytes(StandardCharsets.UTF_8));
+        return Base64.getEncoder().encodeToString(encryptBytes);
     }
 
     /**

--
Gitblit v1.9.3