首页 > 代码库 > Druid使用ConfigFilter

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=http://www.mamicode.com/"jdbc:derby:memory:spring-test;create=true" />     <property name="username" value=http://www.mamicode.com/"sa" />     <property name="password" value=http://www.mamicode.com/"${password}" />     <property name="filters" value=http://www.mamicode.com/"config" />     <property name="connectionProperties" value=http://www.mamicode.com/"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

Druid使用ConfigFilter