Spring加载加密的配置文件详解
本文实例为大家分享了Spring加载加密的配置文件,供大家参考,具体内容如下
一、继承并实现自己的属性文件配置器类
/**
*带加密的Spring属性配置文件扩展类
*加密方式:AES
*@authorsimon
*
*/
publicclassEncryptPropertyPlaceholderConfigurerextendsPropertyPlaceholderConfigurer{
//指定需要加密的属性
privateString[]propertyNames={"db.password"};
/**
*解密指定propertyName的属性值
*@parampropertyName
*@parampropertyValue
*@return
*/
@Override
protectedStringconvertProperty(StringpropertyName,StringpropertyValue){
//过滤出需要解密的属性
for(Stringp:propertyNames){
if(p.equalsIgnoreCase(propertyName)){
try{
//返回AES解密后的字符串
returnnewString(SymmetricCryptoUtil.decryptAESWithDefaultKey(EncodeUtil.decodeBase64(propertyValue)));
}catch(Exceptione){
e.printStackTrace();
}
}
}
returnsuper.convertProperty(propertyName,propertyValue);
}
}
二、Spring中配置以自定义的属性文件配置器类来加载加密后的配置文件
classpath:db.properties
三、将配置文件中的特殊属性用相同的算法和密钥加密
db.driver= db.url= db.username=root #AESencrypt,Base64encode db.password=jFYmt2f57RHhzItYDhWiSA==
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。