spring的PreferencesPlaceholderConfigurer类对数据库密码进行加密
来源:互联网 发布:军团要塞知乎 编辑:程序博客网 时间:2024/05/22 16:00
在项目中为了数据库的安全,常常会要求对数据库密码进行加密。我的数据库配置是jdbc.properties, 在spring环境中,推荐的方法是PreferencesPlaceholderConfigurer类对properties文件进行处理。
具体的实现方法如下(des加密):
1:数据库文件配置
driver=com.mysql.jdbc.Driver
url=jdbc\:mysql\://192.168.0.27\:3306/parameter
username=root
password=P4eA8Ny/smw=
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
2:class实现类:
package com.util;
import org.springframework.beans.factory.config.PropertyPlaceholderConfigurer;
import com.jyt.api.encrypt.DESUtil;
import com.jyt.api.string.StringUtil;
/**
* 数据库密码回调解密
*/
@SuppressWarnings("serial")
public class TestUtil extends PropertyPlaceholderConfigurer{
@Override
protected String convertProperty(String propertyName, String propertyValue){
//如果在加密属性名单中发现该属性
if("password".equals(propertyName)){
if (!StringUtil.isEmpty(propertyValue)){
propertyValue = DESUtil.getDecryptString(propertyValue);
}
}
return propertyValue;
}
}
3:xml文件配置:
<!-- 加载配置文件 -->
<bean class="com.util.TestUtil">
<property name="locations">
<list>
<value>classpath:jdbc.properties</value>
</list>
</property>
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
<import resource="classpath:spring-mybatis.xml"/>
上述就使得jdbc.properties文件在加载的时候进入com.util.TestUtil 类对数据库密码进行处理了!
- spring的PreferencesPlaceholderConfigurer类对数据库密码进行加密
- /** * 对密码进行加密和验证的类 */
- java-对密码进行加密和验证的类
- 对用户的密码进行加密
- 一段对密码进行加密的脚本
- 一段对密码进行加密的脚本
- MessageDigest对密码进行加密
- 对密码进行加密操作
- 对密码进行加密操作 .
- java对密码进行加密
- 使用jasypt对spring boot的datasource中数据库密码加密
- 使用MD5对密码进行加密的功能的实现
- 浅谈使用spring security中的BCryptPasswordEncoder方法对密码进行加密与密码匹配
- 对用户输入的密码进行MD5加密
- Java的MD5对密码进行加密和验证的类
- Spring+mysql+druid对数据库连接的用户名密码加密
- 使用durid的ConfigFilter对数据库密码加密
- 使用durid的ConfigFilter对数据库密码加密
- SRWebSocket源码浅析
- 自动登录过BSO的脚本
- js 事件绑定on()的用法,以及对于其他绑定事件的比较
- The Balance (母函数)
- Jboss下使用spring配置实现JTA全局事务管理(下)
- spring的PreferencesPlaceholderConfigurer类对数据库密码进行加密
- J2EE系列之Hibernate4学习笔记(六)--Hibernate中对象的4种状态
- 美团面试
- MySQL
- 常见专业术语名词解释(持续更新)
- ('42000', '[42000] [FreeTDS][SQL Server]Unicode data in a Unicode-only collation or ntext data canno
- 设计模式(一)--单例模式
- 电子书
- 2017-5-11 C++primer笔记