Spring加载加密的配置文件详解
时间:2021-04-08 10:40:51|栏目:JAVA代码|点击: 次
本文实例为大家分享了Spring加载加密的配置文件,供大家参考,具体内容如下
一、继承并实现自己的属性文件配置器类
/**
* 带加密的Spring属性配置文件扩展类
* 加密方式:AES
* @author simon
*
*/
public class EncryptPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
//指定需要加密的属性
private String[] propertyNames = {"db.password"};
/**
* 解密指定propertyName的属性值
* @param propertyName
* @param propertyValue
* @return
*/
@Override
protected String convertProperty(String propertyName, String propertyValue) {
//过滤出需要解密的属性
for (String p : propertyNames) {
if (p.equalsIgnoreCase(propertyName)) {
try {
//返回AES解密后的字符串
return new String(SymmetricCryptoUtil.decryptAESWithDefaultKey(EncodeUtil.decodeBase64(propertyValue)));
} catch (Exception e) {
e.printStackTrace();
}
}
}
return super.convertProperty(propertyName, propertyValue);
}
}
二、Spring中配置以自定义的属性文件配置器类来加载加密后的配置文件
<!-- 加载加密后的配置文件 --> <bean class="com.bounter.mybatis.extension.EncryptPropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:db.properties</value> </list> </property> </bean>
三、将配置文件中的特殊属性用相同的算法和密钥加密
db.driver= db.url= db.username=root #AES encrypt,Base64 encode db.password=jFYmt2f57RHhzItYDhWiSA==
上一篇:IDEA集成MyBatis Generator插件的使用
栏 目:JAVA代码
下一篇:Java中泛型总结(推荐)
本文标题:Spring加载加密的配置文件详解
本文地址:http://www.codeinn.net/misctech/97315.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




