druid连接池配置数据库密码加密

druid配置数据库密码加密后,可以把密码放在配置文件里,或本地其他文件、远程服务器等三种地方,这里只讲第一种方法。

1.密码加密:cd到druid包所在文件夹打开命令行,输入 java -cp druid-1.1.9.jar com.alibaba.druid.filter.config.ConfigTools you_password,得到加密后的密码,publicKey(privateKey没用)。

2.在application.properties里增加属性spring.datasource.druid.publicKey和spring.datasource.druid.password,把第一步加密后的密码和publicKey粘贴进来

3.druid数据源里配置对应的属性:

<bean id="dataSource" name="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource"
          init-method="init"
          destroy-method="close">
<property name="filters" value="config"/>
<!--配置数据库密码加密,在命令行中执行 java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools you_password
        生成私钥和公钥-->
        <property name="connectionProperties"
                  value="config.decrypt=true;config.decrypt.key=${spring.datasource.druid.publicKey}"/>

<bean>

这样就可以实现数据库的密码加密了,有几点提醒:

a、password和publicKey一定一次加密里生成的;

b、如果报解密失败,那是password没有找到;

c、如果是数据库拒绝访问,则是密码错误,一般是password变量没引用到,为null(为null的话解密出来的是you_password),也就是有漏配的;

d、idea可以打断点进行跟踪,看是不是解密出来的密码不是数据库的密码。

猜你喜欢

转载自blog.csdn.net/weixin_39370859/article/details/105095113