spring配置文件加密(未测试)
2016-07-22 01:18
639 查看
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>
相关文章推荐
- Java 代码实现七牛云存储图片
- ftp 实现文件的上传下载以及列出文件列表Java代码
- Java去掉字符串中所有的标签,获取纯文本内容,获取src
- 【Leetcode】152. Maximum Product Subarray 【动态规划】
- SpringMVC从Controller跳转到另一个Controller
- java对PNG图片圆角处理 保持PNG透明背景(未测试)
- java插入式注解
- 码神-day9-java
- Java实现 图片水印或者文字水印
- Java6实现调用操作平台桌面系统
- 该死的 java.lang.ClassFormatError: Illegal method name "<init>$" 错误
- 如何创建线程
- hibernate与struts2一起时的异常处理
- Java 编程思想——第一章:对象导论
- java 图片合成到A4纸上
- Java集合-----java集合框架常见问题
- Java集合-----java集合框架常见问题
- Eclipse Neon 新版本特性-渣翻轻喷
- 第二章 Java基础程序设计
- java④