本文主要是介绍java web 项目配置文件属性加密,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.未加密
config.properties配置
mail.host=192.168.0.100
mail.username=email_username
mail.password=email_password
mail.smtp.auth=true
mail.smtp.timeout=15000
mail.smtp.port=25
spring-context.xml
<!-- 加载 jdbc.properties 配置文件 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath*:config.properties</value></list></property>
</bean>
2.已加密
config.properties配置
mail.host=192.168.0.100
mail.username=kpMmZE2dWLPujCGcj6ng6w==
mail.password=LPLELj4DeR/Z2CsM9GQY+A==
mail.smtp.auth=true
mail.smtp.timeout=15000
mail.smtp.port=25
AesPropertyPlaceholderConfigurer
package com.benz.utils;import java.util.Properties;import org.springframework.beans.BeansException;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;public class AesPropertyPlaceholderConfigurer extends PropertyPlaceholderConfigurer {@Overrideprotected void processProperties(ConfigurableListableBeanFactory beanFactoryToProcess, Properties props)throws BeansException {try {// 邮箱账号String mailUsername = props.getProperty("mail.username");// 邮箱密码String mailPassword = props.getProperty("mail.password");// 校验数据if (ObjectUtils.isNotEmpty(mailUsername) && ObjectUtils.isNotEmpty(mailPassword)) {// 解密属性值,并重新设置props.setProperty("mail.username", AESUtils.aesDecrypt(mailUsername));props.setProperty("mail.password", AESUtils.aesDecrypt(mailPassword));}super.processProperties(beanFactoryToProcess, props);} catch (Exception e) {e.printStackTrace();}}}
spring-context.xml
<!-- 加载 jdbc.properties 配置文件 -->
<!-- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> -->
<!-- 属性解密 -->
<bean class="com.benz.utils.AesPropertyPlaceholderConfigurer"><property name="locations"><list><value>classpath*:config.properties</value><value>classpath*:jdbc.properties</value></list></property>
</bean>
这篇关于java web 项目配置文件属性加密的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!