From a918b880d6f14ff89dfa77537265dfdbed01c8f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Mon, 15 Sep 2025 17:10:31 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E5=A2=9E=E5=8A=A0=20=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E5=A4=B4=E7=94=A8=E6=9D=A5=E5=88=A4=E6=96=AD=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=98=AF=E5=90=A6=E5=B7=B2=E7=BB=8F=E8=A2=AB=E5=8A=A0?= =?UTF-8?q?=E5=AF=86=E4=BA=86=20=E9=98=B2=E6=AD=A2=E9=87=8D=E5=A4=8D?= =?UTF-8?q?=E5=8A=A0=E5=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/common/core/constant/Constants.java | 5 +++++ .../common/encrypt/core/EncryptorManager.java | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java index 273c7344a..0c6671a62 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/constant/Constants.java @@ -72,5 +72,10 @@ public interface Constants { */ Long TOP_PARENT_ID = 0L; + /** + * 加密头 + */ + String ENCRYPT_HEADER = "ENC_"; + } diff --git a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java index b5f194d76..9d9c7eb07 100644 --- a/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java +++ b/ruoyi-common/ruoyi-common-encrypt/src/main/java/org/dromara/common/encrypt/core/EncryptorManager.java @@ -5,6 +5,7 @@ import cn.hutool.core.util.ReflectUtil; import lombok.NoArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.io.Resources; +import org.dromara.common.core.constant.Constants; import org.dromara.common.core.utils.ObjectUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.encrypt.annotation.EncryptField; @@ -92,8 +93,12 @@ public class EncryptorManager { * @param encryptContext 加密相关的配置信息 */ public String encrypt(String value, EncryptContext encryptContext) { + if (StringUtils.startsWith(value, Constants.ENCRYPT_HEADER)) { + return value; + } IEncryptor encryptor = this.registAndGetEncryptor(encryptContext); - return encryptor.encrypt(value, encryptContext.getEncode()); + String encrypt = encryptor.encrypt(value, encryptContext.getEncode()); + return Constants.ENCRYPT_HEADER + encrypt; } /** @@ -103,8 +108,12 @@ public class EncryptorManager { * @param encryptContext 加密相关的配置信息 */ public String decrypt(String value, EncryptContext encryptContext) { + if (!StringUtils.startsWith(value, Constants.ENCRYPT_HEADER)) { + return value; + } IEncryptor encryptor = this.registAndGetEncryptor(encryptContext); - return encryptor.decrypt(value); + String decrypt = encryptor.decrypt(value); + return StringUtils.removeStart(decrypt, Constants.ENCRYPT_HEADER); } /**