重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Spring加载加密的配置文件详解

本文实例为大家分享了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中配置以自定义的属性文件配置器类来加载加密后的配置文件



 
 
  classpath:db.properties
 
 



三、将配置文件中的特殊属性用相同的算法和密钥加密

db.driver=
db.url=
db.username=root
#AES encrypt,Base64 encode
db.password=jFYmt2f57RHhzItYDhWiSA==

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


网站名称:Spring加载加密的配置文件详解
文章转载:http://cqcxhl.com/article/iegcjc.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP