服务器之家

服务器之家 > 正文

spring配置文件加密方法示例

时间:2021-02-18 13:05     来源/作者:hwl0420

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

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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中设置密文(根据解密秘钥生成)

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

总结

以上就是本文关于spring配置文件加密方法示例的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持。

原文链接:http://www.open-open.com/code/view/1453520072183

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部