Druid使用ConfigFilter

1. 加密,用以下命令将用户名和密码加密

cmd命令行执行 java -cp D:/druid-1.0.13.jar com.alibaba.druid.filter.config.ConfigTools 用户名/密码

得到密文:

f0PSl0Lzxh6CxzuFIdEg+wVx045fSE2VtUP45G9HH2cjVQnmGGgcK5CLzNUJoR6tGwRO44h74OxrBWuDzWC8jg==

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="url" value="jdbc:derby:memory:spring-test;create=true" />
<property name="username" value="sa" />
<property name="password" value="${password}" />
<property name="filters" value="config" />
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publickey}" />
</bean>

2 数据库密码加密

数据库密码直接写在配置中,对运维安全来说,是一个很大的挑战。Druid为此提供一种数据库密码加密的手段ConfigFilter。

2.1 执行命令加密数据库密码

在命令行中执行如下命令:

java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools you_password

输出

h9gzp23dkJIZ95Xzj/waxsC2oJ1JoWTh76o4aw7+uGGh63ovAULVOrPewOwHP5i3LCIXqNyvpxJ2nceDFBbzVw==

输入你的数据库密码,输出的是加密后的结果。

2.2 配置数据源,提示Druid数据源需要对数据库密码进行解密。

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
init-method="init" destroy-method="close">
<property name="url" value="jdbc:derby:memory:spring-test;create=true" />
<property name="username" value="sa" />
<property name="password" value="h9gzp23dkJIZ95Xzj/waxsC2oJ1JoWTh76o4aw7+uGGh63ovAULVOrPewOwHP5i3LCIXqNyvpxJ2nceDFBbzVw==" />
<property name="filters" value="config" />
<property name="connectionProperties" value="config.decrypt=true" />
</bean>

参考文献:http://my.oschina.net/u/724133/blog/299362
http://my.oschina.net/ydsakyclguozi/blog/511997
上一篇:HTML5安全:CORS(跨域资源共享)简介。。。ie67不要想了。。。


下一篇:CSDN问答频道“华章杯”7月排行榜活动开始,丰厚奖品等你拿