Druid数据库密码加密

Posted lwcode6

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Druid数据库密码加密相关的知识,希望对你有一定的参考价值。

背景

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

druid版本为1.1.18。


 加密

1.项目中引入依赖

<dependency>   
  <groupId>com.alibaba</groupId>
  <artifactId>druid-spring-boot-starter</artifactId>   
  <version>1.1.18</version>
</dependency>

2.打开cmd命令窗口,进入druid的jar所在位置

技术图片

3.执行命令

java -cp druid-1.1.18.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码 

技术图片

4.配置数据源,Druid数据源需要对数据库密码进行解密

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

5.application.properties配置数据库连接属性

# Spring Datasource Settings
jdbc.type=mysql jdbc.driver=com.mysql.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false jdbc.username=root jdbc.password=fy5sM+1Vo/2NZAN9RxmLVIsq/44Yil69T3Ut371h5AvGvnIUSyf6A7TKrrtkaUMa5Yp/VH+kwic+PF3UhWODyA== jdbc.publickey=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAI7sCmm9z5XNGH4tBYtD01Zz3gbdmcNCkrN5RBkV3iBNiHkyBYeQ/ew3Ca2576TvTlxW+iDt1qZSKGZdqEb0cg8CAwEAAQ== # pool settings jdbc.pool.init=1 jdbc.pool.minIdle=3 jdbc.pool.maxActive=20 jdbc.testSql=SELECT ‘x‘

以上是关于Druid数据库密码加密的主要内容,如果未能解决你的问题,请参考以下文章

Druid-Druid数据源加密数据库密码配置

druid数据库密码加密程序编写

使用druid 数据池对连接密码加密

Druid数据库密码加密

关于druid数据库密码加密流程及问题

SpringBoot使用Druid数据库加密链接完整方案