您的位置:首页 > 产品设计 > UI/UE

Druid 加密数据库密码 (仅需两步)

2017-09-22 00:00 381 查看
摘要: Druid 加密数据库密码 ,以免明文展示容易被查看到

1、首先通过工具类生成加密后的密文,publicKey 及解密后的明文,代码如下:

import com.alibaba.druid.filter.config.ConfigTools;

/**
* desc 数据库密码加解密
*
* @author dyl Aug 23, 2017
*/
public class EncryptDruidPwd {

public static void main(String[] args) throws Exception {
// 密码明文
String[] passwords = { "ttt123_321", "tt123_321" };
String[] users = { "admin321", "admin123", };

// 用私钥加密后的密文
for (int i = 0; i < passwords.length; i++) {
String[] keyPair = ConfigTools.genKeyPair(1024 + i * 5);
// 私钥
String privateKey = keyPair[0];
// 公钥
String publicKey = keyPair[1];
String encpwd = ConfigTools.encrypt(privateKey, passwords[i]);
System.out.println(users[i] + ".publicKey=" + publicKey);
System.out.println(users[i] + ".password=" + encpwd);
// 解密
String decryptPassword = ConfigTools.decrypt(publicKey, encpwd);
System.out.println(names[i] + "decryptPassword:" + decryptPassword);
System.out.println("----------------分隔符---------------------");
}
}
}

2、数据源配置解密方式:

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="${ji.jdbcUrl}" />
<property name="username" value="${ji.user}" />
<property name="password" value="${ji.password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="5" />
<property name="minIdle" value="2" />
<property name="maxActive" value="200" />
<property name="connectionInitSqls" value="set names utf8mb4;" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 配置解密的所用到的publicKey -->
<property name="filters" value="config" />
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${ji.publicKey}" />
</bean>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Druid