mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-21 10:35:57 +08:00
修改如下:
1.默认加密算法修改为Base64,并且默认关闭该功能 2.加密配置类中的注解移到类上 3.错误日志记录采用日志框架来处理异常内容
This commit is contained in:
parent
c437089b29
commit
3fd825cf0c
@ -186,16 +186,16 @@ mybatis-plus:
|
||||
# 数据加密
|
||||
mybatis-encryptor:
|
||||
# 是否开启加密
|
||||
enabled: true
|
||||
enabled: false
|
||||
# 默认加密算法
|
||||
algorithm: aes
|
||||
algorithm: base64
|
||||
# 安全秘钥。对称算法的秘钥。如:AES,SM4
|
||||
password: QBcc3SHK2G4ijyfl5XQ7@2g!N2j2jRDR
|
||||
# password: QBcc3SHK2G4ijyfl5XQ7@2g!N2j2jRDR
|
||||
# # 公私钥。非对称算法的公私钥,如:SM2,RSA
|
||||
# publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDt41GIcWvY6/tpjOLoWY78Oy00uWcNbMRG/8DRoS79/h2D+pV8uxV+0ezaN+fBFCZnK8TdJcPeU4EnNRUh/8HEY33KFvZ700n+Gj5BHUUDKzx3UVFNuF49UI/yoJ8rz6VQQHO79KK89VwmSMO77Tfee1ofe0STY6IwMt/MwaoKwIDAQAB
|
||||
# privateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIO3jUYhxa9jr+2mM4uhZjvw7LTS5Zw1sxEb/wNGhLv3+HYP6lXy7FX7R7No358EUJmcrxN0lw95TgSc1FSH/wcRjfcoW9nvTSf4aPkEdRQMrPHdRUU24Xj1Qj/KgnyvPpVBAc7v0orz1XCZIw7vtN957Wh97RJNjojAy38zBqgrAgMBAAECgYAkXx4qvI6rFNryw88+Am6JpMioUghHb2ioE9QCYomqohnA+DocS71JLN8qwo3lijp7gJGzzKEeC8Aoc+oKAZfBQQwPP0K/ql+NcLdlqNAr+XyzkZrLJD/BfluQ6mXI23tjonWnPPZ1Et9HC3zXRQPiuh7Ff6UoqatTMI3OIbSyuQJBAPbaJpVYmIsWJdpvaAC6hcGgR/vbG9yX8VphPn8/2wsm2MmQrRkUoKkudE/veX3KQjGikDwo9+bT6aBl+nn2DUUCQQCImSGZFNcGqhMLyRGVogP6fh0YZSEQAhFbZ69nQmplqbie+dREhODH5Vs5F0C2aL5iSR/UaIDkNEA1auX7x56vAkAFWjON927PTTqi4tmBconl6eDFsDmJbe34xLUDM1I/iqcWr8FhEtZs9Knm9c1PkewfgWPZOhYt9hhRtwRYUqJ1AkAPvQ0I9US9KNVe80DKa8tnjiZODEDd9k8HqA+mpxlZM0/pSUGyz1iSz5NOJaa4HaNp8aDwOUY4hOis/u8Wrm5TAkEA00YeUsaXlMyMF/5pjols44tXb54AjAC2mH66pz9JsKg7pKpWVOpEV5rMY58CGZHWau69vGLZnCd1coeMw77YAQ==
|
||||
# # 编码方式,base64/hex。默认base64
|
||||
encode: base64
|
||||
# encode: base64
|
||||
|
||||
# Swagger配置
|
||||
swagger:
|
||||
|
||||
@ -19,7 +19,7 @@ public @interface EncryptField {
|
||||
/**
|
||||
* 加密算法
|
||||
*/
|
||||
AlgorithmType algorithm() default AlgorithmType.AES;
|
||||
AlgorithmType algorithm() default AlgorithmType.BASE64;
|
||||
|
||||
/**
|
||||
* 秘钥。AES、SM4需要
|
||||
|
||||
@ -2,6 +2,8 @@ package com.ruoyi.framework.config;
|
||||
|
||||
import com.ruoyi.framework.config.properties.EncryptorProperties;
|
||||
import com.ruoyi.framework.encrypt.EncryptorManager;
|
||||
import com.ruoyi.framework.encrypt.MybatisDecryptInterceptor;
|
||||
import com.ruoyi.framework.encrypt.MybatisEncryptInterceptor;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@ -13,13 +15,23 @@ import org.springframework.context.annotation.Configuration;
|
||||
* @date 2023-01-11 10:03
|
||||
*/
|
||||
@Configuration
|
||||
@ConditionalOnProperty(value = "mybatis-encryptor.enabled", havingValue = "true")
|
||||
public class EncryptorConfig {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnProperty(value = "mybatis-encryptor.enabled", havingValue = "true")
|
||||
public EncryptorManager mybatisCryptHandler(EncryptorProperties properties) {
|
||||
EncryptorManager encryptorManager = new EncryptorManager();
|
||||
encryptorManager.registAndGetEncryptor(properties);
|
||||
return encryptorManager;
|
||||
}
|
||||
|
||||
@Bean
|
||||
public MybatisEncryptInterceptor mybatisEncryptInterceptor(EncryptorProperties properties) {
|
||||
return new MybatisEncryptInterceptor();
|
||||
}
|
||||
|
||||
@Bean
|
||||
public MybatisDecryptInterceptor mybatisDecryptInterceptor(EncryptorProperties properties) {
|
||||
return new MybatisDecryptInterceptor();
|
||||
}
|
||||
}
|
||||
|
||||
@ -53,7 +53,7 @@ public class EncryptorManager {
|
||||
encryptorMap.put(encryptorKey, new Sm4Encryptor(properties.getPassword()));
|
||||
break;
|
||||
default:
|
||||
AesEncryptor defaultEncryptor = new AesEncryptor(properties.getPassword());
|
||||
Base64Encryptor defaultEncryptor = new Base64Encryptor();
|
||||
encryptorMap.put(encryptorKey, defaultEncryptor);
|
||||
}
|
||||
return encryptorMap.get(encryptorKey);
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.ruoyi.framework.encrypt;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import com.ruoyi.common.annotation.EncryptField;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
import com.ruoyi.common.utils.spring.SpringUtils;
|
||||
@ -9,12 +8,13 @@ import com.ruoyi.framework.config.properties.EncryptorProperties;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.executor.resultset.ResultSetHandler;
|
||||
import org.apache.ibatis.plugin.*;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.sql.Statement;
|
||||
import java.util.*;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 出参解密拦截器
|
||||
@ -28,8 +28,6 @@ import java.util.*;
|
||||
method = "handleResultSets",
|
||||
args = {Statement.class})
|
||||
})
|
||||
@ConditionalOnProperty(value = "mybatis-encryptor.enabled", havingValue = "true")
|
||||
@Component
|
||||
public class MybatisDecryptInterceptor implements Interceptor {
|
||||
|
||||
private final EncryptorManager encryptorManager = SpringUtils.getBean(EncryptorManager.class);
|
||||
@ -71,7 +69,7 @@ public class MybatisDecryptInterceptor implements Interceptor {
|
||||
field.set(sourceObject, this.decryptField(String.valueOf(field.get(sourceObject)), field));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("处理加密字段时出错:{}", ExceptionUtil.getSimpleMessage(e));
|
||||
log.error("处理解密字段时出错", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
package com.ruoyi.framework.encrypt;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.exceptions.ExceptionUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.ruoyi.common.annotation.EncryptField;
|
||||
import com.ruoyi.common.utils.StringUtils;
|
||||
@ -13,8 +12,6 @@ import org.apache.ibatis.plugin.Interceptor;
|
||||
import org.apache.ibatis.plugin.Intercepts;
|
||||
import org.apache.ibatis.plugin.Invocation;
|
||||
import org.apache.ibatis.plugin.Signature;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.sql.PreparedStatement;
|
||||
@ -35,8 +32,6 @@ import java.util.Set;
|
||||
method = "setParameters",
|
||||
args = {PreparedStatement.class})
|
||||
})
|
||||
@ConditionalOnProperty(value = "mybatis-encryptor.enabled", havingValue = "true")
|
||||
@Component
|
||||
public class MybatisEncryptInterceptor implements Interceptor {
|
||||
|
||||
private final EncryptorManager encryptorManager = SpringUtils.getBean(EncryptorManager.class);
|
||||
@ -85,7 +80,7 @@ public class MybatisEncryptInterceptor implements Interceptor {
|
||||
field.set(sourceObject, this.encryptField(String.valueOf(field.get(sourceObject)), field));
|
||||
}
|
||||
} catch (Exception e) {
|
||||
log.error("处理加密字段时出错:{}", ExceptionUtil.getSimpleMessage(e));
|
||||
log.error("处理加密字段时出错", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user