欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

spring配置文件加密方法示例

程序员文章站 2024-04-01 18:33:34
spring的配置文件是用于指导spring工厂进行bean生成、依赖关系注入及bean示例分发的”图纸”,他是一个或多个标砖的xml文档,j2ee程序员必须学会灵活应用这...

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详解

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