Druid连接池自定义数据库密码加解密的实现

1、首先配置Druid的数据库连接池




	
	
		
			
				classpath*:jdbc.properties
			
		
	

	
	

	
		
		
		
		
		
		
		
		
		
		
	


 

2、创建DruidPasswordCallback子类

         创建DBPasswordCallback类继承DruidPasswordCallback,并重写setProperties方法

 

package com.waukeen.util;

import java.util.Properties;

import com.alibaba.druid.util.DruidPasswordCallback;
import com.waukeen.security.Encode;

/**
 * 数据库回调密码解密
 * 
 * @author
 *
 */
@SuppressWarnings("serial")
public class DBPasswordCallback extends DruidPasswordCallback {

	public void setProperties(Properties properties) {
		super.setProperties(properties);
		String password = properties.getProperty("password");
		if (!Tools.isEmpty(password)) {
			// 解密数据库连接密码
			String pwd = Encode.decode(password);
			setPassword(pwd.toCharArray());
		}
	}

	public static void main(String[] args) {
                // 生成加密后的密码,放到jdbc.properties
		String pwd = Encode.encode("pwd");
		System.out.println(pwd);
	}
}

 

 

3、jdbc.properties的内容

 

#数据库连接地址
url=jdbc:mysql://127.0.0.1:3306/test
#用户名
username=root
#密码,这里的密码是你加密之后的密码!!!
password=XXXXX
#数据库连接驱动类
driver=com.mysql.jdbc.Driver
#定义初始连接数
initialSize=10
#定义最大连接数
maxActive=12
#定义最长等待时间
maxWait=5000

 

 

4、需要注意的地方






	
	
	
	
	
	
	
	
	
	
	
 

 

你可能感兴趣的:(数据库)