aliy 数据库连接池加密_Druid实现数据库连接用户密码加密 互联网技术圈 互联网技术圈...

一、Druid号称是Java语言中最好的数据库连接池。

1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。

2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。

3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。

4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。

5) 能够提供基于Filter-Chain模式的插件体系。

二、配置实现

Druid对密码的加密解密是自动实现的。

1)对用户名密码加密

java -cp D:/druid-1.0.27.jar com.alibaba.druid.filter.config.ConfigTools root

java -cp D:/druid-1.0.27.jar com.alibaba.druid.filter.config.ConfigTools 123456

执行完成以后会分别生成加密的用户密码以及对应的公钥和私钥。

2)重写DruidDataSource

packagecom.acts.web.common.persistence;

importcom.alibaba.druid.filter.config.ConfigTools;

importcom.alibaba.druid.pool.DruidDataSource;

/**

* 数据库用户名加密

* 创建者 xx

* 创建时间 2018年2月15日

*

*/

public class DruidConnectionProvider extends DruidDataSource {

private static final longserialVersionUID= 1377390212442554779L;

private static StringpublicKey= "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKfkK2hgtAKuV3uuU1wjo0kyuCFcf4QXxF4+zFUYWf4a5s6CJneKGzwE+onpUL3tsa3SB1Q1HtIlykXO+g7hlkECAwEAAQ==";

@Override

public voidsetUsername(Stringusername) {

try {

username= ConfigTools.decrypt(publicKey,username);

} catch (Exceptione) {

e.printStackTrace();

}

super.setUsername(username);

}

}

3)配置dataSource

4)配置persistence-mysql.properties文件

mysql.driverclass=com.mysql.jdbc.Driver

mysql.jdbcurl=jdbc:mysql://192.168.1.191:3306/itstyle?characterEncoding=UTF-8

mysql.user=iMNLTD842UfibiwKGgU4wWo8Gmf0wjb8HFkXmt1+S0XZ/3MdKhZx+TiApcXCCsIJGdrSr1a3vy6ugfLuHISZoQ==

mysql.password=ZuLa1c/7gIzx8ZBzJy9PqfOlXFBdpebcNxMTblktk907JO9HDU/cMxq3tM7kKDsh+UBBYeALM/J+/38kSFU/9w==

MaxActive=30

MinIdle=5

Filters=stat

TimeBetweenEvictionRunsMillis=300

publickey = MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAIOP8F1IDaIAqfzWMEccNxodnSXT0Z0ya3KCXKYxgvLz0WrEq1z7ilTfrOjfC6/HvPUIWjP6RZVIy5G2Rzn9W+cCAwEAAQ==

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值