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/Sm2Encryptor.java |   15 ++++++---------
 1 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/Sm2Encryptor.java b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/Sm2Encryptor.java
index c728cf8..aec5d82 100644
--- a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/Sm2Encryptor.java
+++ b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/encryptor/Sm2Encryptor.java
@@ -1,13 +1,10 @@
 package org.dromara.common.encrypt.core.encryptor;
 
-import cn.hutool.core.codec.Base64;
-import cn.hutool.crypto.SmUtil;
-import cn.hutool.crypto.asymmetric.KeyType;
-import cn.hutool.crypto.asymmetric.SM2;
 import org.dromara.common.core.utils.StringUtils;
 import org.dromara.common.encrypt.core.EncryptContext;
 import org.dromara.common.encrypt.enumd.AlgorithmType;
 import org.dromara.common.encrypt.enumd.EncodeType;
+import org.dromara.common.encrypt.utils.EncryptUtils;
 
 /**
  * sm2绠楁硶瀹炵幇
@@ -17,7 +14,7 @@
  */
 public class Sm2Encryptor extends AbstractEncryptor {
 
-    private final SM2 sm2;
+    private final EncryptContext context;
 
     public Sm2Encryptor(EncryptContext context) {
         super(context);
@@ -26,7 +23,7 @@
         if (StringUtils.isAnyEmpty(privateKey, publicKey)) {
             throw new IllegalArgumentException("SM2鍏閽ュ潎闇�瑕佹彁渚涳紝鍏挜鍔犲瘑锛岀閽ヨВ瀵嗐��");
         }
-        this.sm2 = SmUtil.sm2(Base64.decode(privateKey), Base64.decode(publicKey));
+        this.context = context;
     }
 
     /**
@@ -46,9 +43,9 @@
     @Override
     public String encrypt(String value, EncodeType encodeType) {
         if (encodeType == EncodeType.HEX) {
-            return sm2.encryptHex(value, KeyType.PublicKey);
+            return EncryptUtils.encryptBySm2Hex(value, context.getPublicKey());
         } else {
-            return sm2.encryptBase64(value, KeyType.PublicKey);
+            return EncryptUtils.encryptBySm2(value, context.getPublicKey());
         }
     }
 
@@ -59,6 +56,6 @@
      */
     @Override
     public String decrypt(String value) {
-        return this.sm2.decryptStr(value, KeyType.PrivateKey);
+        return EncryptUtils.decryptBySm2(value, context.getPrivateKey());
     }
 }

--
Gitblit v1.9.3