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==
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。