diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/enums/AlgorithmType.java b/ruoyi-common/src/main/java/com/ruoyi/common/enums/AlgorithmType.java index 474a5ef08..eb9b830a0 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/enums/AlgorithmType.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/enums/AlgorithmType.java @@ -1,5 +1,7 @@ package com.ruoyi.common.enums; +import com.ruoyi.common.encrypt.IEncryptor; +import com.ruoyi.common.encrypt.encryptor.*; import lombok.AllArgsConstructor; import lombok.Getter; @@ -14,27 +16,27 @@ public enum AlgorithmType { /** * base64 */ - BASE64("com.ruoyi.common.encrypt.encryptor.Base64Encryptor"), + BASE64(Base64Encryptor.class), /** * aes */ - AES("com.ruoyi.common.encrypt.encryptor.AesEncryptor"), + AES(AesEncryptor.class), /** * rsa */ - RSA("com.ruoyi.common.encrypt.encryptor.RsaEncryptor"), + RSA(RsaEncryptor.class), /** * sm2 */ - SM2("com.ruoyi.common.encrypt.encryptor.Sm2Encryptor"), + SM2(Sm2Encryptor.class), /** * sm4 */ - SM4("com.ruoyi.common.encrypt.encryptor.Sm4Encryptor"); + SM4(Sm4Encryptor.class); - private final String clazz; + private final Class clazz; } diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/EncryptorManager.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/EncryptorManager.java index 3faa7ea4a..d929cc2cd 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/EncryptorManager.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/encrypt/EncryptorManager.java @@ -6,7 +6,6 @@ import com.ruoyi.common.encrypt.EncryptContext; import com.ruoyi.common.encrypt.IEncryptor; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.config.properties.EncryptorProperties; -import jodd.util.ClassLoaderUtil; import lombok.extern.slf4j.Slf4j; import java.util.Map; @@ -44,16 +43,7 @@ public class EncryptorManager { encryptContext.setPrivateKey(properties.getPrivateKey()); encryptContext.setPublicKey(properties.getPublicKey()); encryptContext.setEncode(properties.getEncode()); - Class clazz = null; - try { - clazz = ClassLoaderUtil.loadClass(properties.getAlgorithm().getClazz()); - } catch (ClassNotFoundException e) { - log.error("没有找到配置中指定的加密执行者", e); - } - if(ObjectUtil.isNull(clazz)) { - return null; - } - IEncryptor encryptor = ReflectUtil.newInstance(clazz, encryptContext); + IEncryptor encryptor = ReflectUtil.newInstance(properties.getAlgorithm().getClazz(), encryptContext); encryptorMap.put(encryptorKey, encryptor); return encryptorMap.get(encryptorKey); }