加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

spring配置文件加密方法示例

发布时间:2020-12-14 21:01:03 所属栏目:Java 来源:网络整理
导读:Spring的配置文件是用于指导Spring工厂进行Bean生成、依赖关系注入及Bean示例分发的”图纸”,他是一个或多个标砖的XML文档,J2EE程序员必须学会灵活应用这份”图纸”,准确的表达自己的”生成意图”。Spring配置文件是一个或多个标准的XML文档,applicationC

Spring的配置文件是用于指导Spring工厂进行Bean生成、依赖关系注入及Bean示例分发的”图纸”,他是一个或多个标砖的XML文档,J2EE程序员必须学会灵活应用这份”图纸”,准确的表达自己的”生成意图”。Spring配置文件是一个或多个标准的XML文档,applicationContext.xml是Spring的默认配置文件,当容器启动时找不到指定的配置文档时,将会尝试加载这个默认的配置文件。

spring框架在一些对安全性要求较高的生产环境下,配置文件不允许出现明文用户名密码配置,如数据库配置等。本文主要用于解决明文用户名密码加密。

通过继承spring配置类并重写处理方法实现密文解密

public class EncryptPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {
	 private String[] encryptPropNames = {"username","password"}; 

	@Override
	protected void processProperties(ConfigurableListableBeanFactory beanFactory,Properties props) throws BeansException {
		try {
		for (int i = 0;i<encryptPropNames.length;i++){
			 String value = props.getProperty(encryptPropNames[i]);
       if (value != null) {
					props.setProperty(encryptPropNames[i],new String(DES.decrypt(new BASE64Decoder().decodeBuffer(value),"解密秘钥")));
       }
      
		}
		super.processProperties(beanFactory,props);
		} catch (Exception e) {
			 e.printStackTrace();
       throw new BeanInitializationException(e.getMessage());
		}
	} 
}

配置applicationContext.xml文件,并在jdbc.properties中设置密文(根据解密秘钥生成)

<!-- class填写刚才那段代码的类路径-->
<bean id="propertyConfigurer" class="com.**.EncryptPropertyPlaceholderConfigurer"> 
      <property name="locations">
        <list>
          <value>classpath:jdbc.properties</value>
        </list>
      </property>
  </bean>

总结

以上就是本文关于spring配置文件加密方法示例的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

Java编程实现springMVC简单登录实例

SpringMVC开发restful API之用户查询代码详解

Maven管理SpringBoot Profile详解

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读