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);
}