From 49d73e1e1ddee34a4fca2be21f8fd37050c1e468 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 18 Mar 2026 17:22:36 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E5=8A=A0=E5=AF=86key=E4=B8=8D=E4=B8=80=E8=87=B4?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/ehcache/ehcache.xml | 4 ++++ .../main/java/io/dataease/constant/CacheConstant.java | 1 + .../src/main/java/io/dataease/utils/RsaUtils.java | 10 ++++++---- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/core/core-backend/src/main/resources/ehcache/ehcache.xml b/core/core-backend/src/main/resources/ehcache/ehcache.xml index e4226dd4d6..0615419cd1 100644 --- a/core/core-backend/src/main/resources/ehcache/ehcache.xml +++ b/core/core-backend/src/main/resources/ehcache/ehcache.xml @@ -102,6 +102,10 @@ java.lang.String java.lang.Object + + java.lang.String + java.lang.String + java.lang.String diff --git a/sdk/common/src/main/java/io/dataease/constant/CacheConstant.java b/sdk/common/src/main/java/io/dataease/constant/CacheConstant.java index d277b4f75b..5202b22702 100644 --- a/sdk/common/src/main/java/io/dataease/constant/CacheConstant.java +++ b/sdk/common/src/main/java/io/dataease/constant/CacheConstant.java @@ -9,6 +9,7 @@ public class CacheConstant { public static final String USER_BUSI_PERS_CACHE = "de_v2_user_busi_pers"; public static final String USER_BUSI_PERS_INTERACTIVE_CACHE = "de_v2_user_busi_pers_interactive"; public static final String USER_COMMUNITY_LANGUAGE = "de_v2_user_community_language"; + public static final String Symmetric_Key = "de_ds_symmetricKey"; } public static class RoleCacheConstant { diff --git a/sdk/common/src/main/java/io/dataease/utils/RsaUtils.java b/sdk/common/src/main/java/io/dataease/utils/RsaUtils.java index a5b111454e..12c2822f42 100644 --- a/sdk/common/src/main/java/io/dataease/utils/RsaUtils.java +++ b/sdk/common/src/main/java/io/dataease/utils/RsaUtils.java @@ -23,6 +23,8 @@ import java.security.spec.PKCS8EncodedKeySpec; import java.security.spec.X509EncodedKeySpec; import java.util.Base64; +import static io.dataease.constant.CacheConstant.UserCacheConstant.Symmetric_Key; + @Component public class RsaUtils { @@ -205,19 +207,19 @@ public class RsaUtils { private static final String ALGORITHM = "AES"; - public static String symmetricKey = null; + public static String symmetricKey = "symmetricKey"; private static final int KEY_SIZE = 128; public static String generateSymmetricKey() { try { - if (StringUtils.isEmpty(symmetricKey)) { + if (!CacheUtils.keyExist(Symmetric_Key, symmetricKey)) { KeyGenerator keyGenerator = KeyGenerator.getInstance(ALGORITHM); keyGenerator.init(KEY_SIZE, new SecureRandom()); SecretKey secretKey = keyGenerator.generateKey(); - symmetricKey = Base64.getEncoder().encodeToString(secretKey.getEncoded()); + CacheUtils.put(Symmetric_Key, symmetricKey, Base64.getEncoder().encodeToString(secretKey.getEncoded())); } - return symmetricKey; + return CacheUtils.get(Symmetric_Key, symmetricKey).toString(); } catch (Exception e) { throw new RuntimeException(e); }