全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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中配置以自定义的属性文件配置器类来加载加密后的配置文件

<!-- 加载加密后的配置文件 -->
<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==

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


# Spring  # 加载  # 加密  # 配置文件  # 详解Spring加载Properties配置文件的四种方式  # 详解利用Spring加载Properties配置文件  # spring如何加载配置多个配置文件  # 关于Spring配置文件加载方式变化引发的异常详解  # 自己的  # 自定义  # 大家分享  # 具体内容  # 大家多多  # PropertyPlaceholderConfigurer  # private  # String  # public  # EncryptPropertyPlaceholderConfigurer  # extends  # propertyNames  # param  # propertyValue  # return  # db  # password  # propertyName 


相关文章: ,南京靠谱的征婚网站?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  全景视频制作网站有哪些,全景图怎么做成网页?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  Android滚轮选择时间控件使用详解  C++用Dijkstra(迪杰斯特拉)算法求最短路径  详解jQuery停止动画——stop()方法的使用  建站之星如何取消后台验证码生成?  导航网站建站方案与优化指南:一站式高效搭建技巧解析    c# 服务器GC和工作站GC的区别和设置  孙琪峥织梦建站教程如何优化数据库安全?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  建站之星下载版如何获取与安装?  微信小程序 五星评分(包括半颗星评分)实例代码  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  建站DNS解析失败?如何正确配置域名服务器?  c++怎么编写动态链接库dll_c++ __declspec(dllexport)导出与调用【方法】  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何在阿里云部署织梦网站?  C++时间戳转换成日期时间的步骤和示例代码  如何选择域名并搭建高效网站?  如何在宝塔面板中修改默认建站目录?  临沂网站制作企业,临沂第三中学官方网站?  盘锦网站制作公司,盘锦大洼有多少5G网站?  安徽网站建设与外贸建站服务专业定制方案  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  建站之星后台密码遗忘或太弱?如何重置与强化?  网站制作费用多少钱,一个网站的运营,需要哪些费用?  存储型VPS适合搭建中小型网站吗?  ui设计制作网站有哪些,手机UI设计网址吗?  Thinkphp 中 distinct 的用法解析  建站之星云端配置指南:模板选择与SEO优化一键生成  宁波免费建站如何选择可靠模板与平台?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  建站之星安装模板失败:服务器环境不兼容?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何登录建站主机?访问步骤全解析  如何在云服务器上快速搭建个人网站?  学校为何禁止电信移动建设网站?  nginx修改上传文件大小限制的方法  如何在IIS中新建站点并配置端口与IP地址?  如何在云主机上快速搭建多站点网站?  网站图片在线制作软件,怎么在图片上做链接?  建站主机选购指南与交易推荐:核心配置解析  5种Android数据存储方式汇总  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之家VIP精选网站模板与SEO优化教程整合指南  头像制作网站在线制作软件,dw网页背景图像怎么设置? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。