From 86a8f5a700a19d8e55da5f5f0d5edd6b1284934f Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 07 八月 2023 12:35:34 +0800
Subject: [PATCH] update 优化 加密实现 使用 EncryptUtils 统一处理

---
 ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/AesEncryptor.java |   26 ++++++--------------------
 1 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/AesEncryptor.java b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/AesEncryptor.java
index 228a362..e4dc597 100644
--- a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/AesEncryptor.java
+++ b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/AesEncryptor.java
@@ -1,14 +1,9 @@
 package org.dromara.common.encrypt.core.encryptor;
 
-import cn.hutool.core.util.ArrayUtil;
-import cn.hutool.core.util.StrUtil;
-import cn.hutool.crypto.SecureUtil;
-import cn.hutool.crypto.symmetric.AES;
 import org.dromara.common.encrypt.core.EncryptContext;
 import org.dromara.common.encrypt.enumd.AlgorithmType;
 import org.dromara.common.encrypt.enumd.EncodeType;
-
-import java.nio.charset.StandardCharsets;
+import org.dromara.common.encrypt.utils.EncryptUtils;
 
 /**
  * AES绠楁硶瀹炵幇
@@ -18,20 +13,11 @@
  */
 public class AesEncryptor extends AbstractEncryptor {
 
-    private final AES aes;
+    private final EncryptContext context;
 
     public AesEncryptor(EncryptContext context) {
         super(context);
-        String password = context.getPassword();
-        if (StrUtil.isBlank(password)) {
-            throw new IllegalArgumentException("AES娌℃湁鑾峰緱绉橀挜淇℃伅");
-        }
-        // aes绠楁硶鐨勭閽ヨ姹傛槸16浣嶃��24浣嶃��32浣�
-        int[] array = {16, 24, 32};
-        if (!ArrayUtil.contains(array, password.length())) {
-            throw new IllegalArgumentException("AES绉橀挜闀垮害搴旇涓�16浣嶃��24浣嶃��32浣嶏紝瀹為檯涓�" + password.length() + "浣�");
-        }
-        aes = SecureUtil.aes(context.getPassword().getBytes(StandardCharsets.UTF_8));
+        this.context = context;
     }
 
     /**
@@ -51,9 +37,9 @@
     @Override
     public String encrypt(String value, EncodeType encodeType) {
         if (encodeType == EncodeType.HEX) {
-            return aes.encryptHex(value);
+            return EncryptUtils.encryptByAesHex(value, context.getPassword());
         } else {
-            return aes.encryptBase64(value);
+            return EncryptUtils.encryptByAes(value, context.getPassword());
         }
     }
 
@@ -64,6 +50,6 @@
      */
     @Override
     public String decrypt(String value) {
-        return this.aes.decryptStr(value);
+        return EncryptUtils.decryptByAes(value, context.getPassword());
     }
 }

--
Gitblit v1.9.3