一:环境

springboot 2.x
druid 1.1.21

二:druid加密数据库密码

本地下载druid-1.1.21.jar包,运行cmd,输入命令

  1. java cp jar包路径 com.alibaba.druid.filter.config.ConfigTools 数据库密码
  2. java cp druid1.1.21.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码

运行成功输出

privateKey:MIIBVAIBAD…
publicKey:MFwwDQYJKo…
password:PNd/zcG+JEn…

将得到的publicKey、password分别填充进yml配置文件即可

三:单数据源

添加依赖

  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>druid-spring-boot-starter</artifactId>
  4. <version>1.1.21</version>
  5. </dependency>

yml配置

  1. spring:
  2. datasource:
  3. name: 名称
  4. url: 地址
  5. username: 用户名
  6. password: 加密后的密码
  7. driverclassname: com.mysql.cj.jdbc.Driver
  8. # druid
  9. type: com.alibaba.druid.pool.DruidDataSource
  10. druid:
  11. #特别提示:配置数据库加密 config这个不能忘掉
  12. filters: stat,wall,config
  13. useglobaldatasourcestat: true
  14. # 开启解密config.decrypt=true; 公钥:config.decrypt.key
  15. connectproperties:
  16. druid.stat.mergeSql: true
  17. druid.stat.slowSqlMillis: 5000
  18. druid.stat.logSlowSql: true
  19. config.decrypt: true
  20. config.decrypt.key: 公钥
  21. # 连接池的配置信息
  22. # 初始化大小,最小空闲连接数,最大活跃数
  23. initialsize: 5
  24. minidle: 5
  25. maxActive: 20
  26. # 配置获取连接等待超时的时间
  27. maxWait: 60000
  28. # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
  29. timeBetweenEvictionRunsMillis: 60000
  30. # 配置一个连接在池中最小生存的时间,单位是毫秒
  31. minEvictableIdleTimeMillis: 300000
  32. validationQuery: SELECT 1 FROM DUAL
  33. testWhileIdle: true
  34. testOnBorrow: false
  35. testOnReturn: false
  36. # 打开PSCache,并且指定每个连接上PSCache的大小
  37. poolPreparedStatements: true
  38. maxPoolPreparedStatementPerConnectionSize: 20

四:多数据源

添加依赖

  1. <dependency>
  2. <groupId>com.alibaba</groupId>
  3. <artifactId>druid-spring-boot-starter</artifactId>
  4. <version>1.1.21</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>com.baomidou</groupId>
  8. <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
  9. <version>2.5.3</version>
  10. </dependency>

启动类配置

  1. @SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)

eg:

yml配置

  1. spring:
  2. datasource:
  3. dynamic:
  4. # 默认数据源
  5. primary: CLOUD
  6. datasource:
  7. CLOUD:
  8. url: 数据库地址
  9. username: 用户名
  10. password: 加密后的密码
  11. driverclassname: com.mysql.cj.jdbc.Driver
  12. druid:
  13. publickey: 加密后的公钥
  14. WAREHOUSE:
  15. driverclassname: com.mysql.cj.jdbc.Driver
  16. url: 数据库地址
  17. username: 用户名
  18. password: 加密后的密码
  19. druid:
  20. publickey: 加密后的公钥

到此这篇关于Springboot2 集成 druid 数据库密码加密的文章就介绍到这了,更多相关Springboot数据库密码加密内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!