当前位置:   article > 正文

记录druid-spring-boot-starter对springboot2.3.1版本的MySQL数据库密码加密过程,附带yml配置文件的配置_springboot 2.3.11.release对应druid-spring-boot-start

springboot 2.3.11.release对应druid-spring-boot-starter版本

前言:

把数据库链接和密码放在配置文件中,感觉像是在网上裸奔一样。我们使用druid后,需要给数据库密码加密,保证数据库密码不被泄露。

操作步骤


1.导入依赖包:版本可以按自己需要

  1. <dependency>
  2.      <groupId>com.alibaba</groupId>
  3.      <artifactId>druid-spring-boot-starter</artifactId>
  4.      <version>1.1.20</version>
  5. </dependency>
  6. <dependency>
  7.      <groupId>mysql</groupId>
  8.      <artifactId>mysql-connector-java</artifactId>
  9.      <version>8.0.18</version>
  10.  </dependency>


2.进入maven仓库找到druid-1.1.20.jar,进入cmd执行命令

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

3. 配置springboot的application.yml文件(巨坑这里!!!!!!!!!!!!!!!!)
 

  1. #自定义publickey保存公钥
  2. publickey: 生成的publickey
  3. spring:
  4.     ###########   数据库设置  ###########
  5.   datasource:
  6.     #将生成后加密的密码保存到password中
  7.     password: 生成的password
  8.     druid:
  9.       # 数据库密码加密 config.decrypt=true 是启用加密 decrypt.key=${publickey}引用上面定义的公钥publickey
  10.       connection-properties: config.decrypt=true;config.decrypt.key=${publickey}
  11.       #config 用于数据库密码加密
  12.       filters: config
  13.       filter:
  14.       # 启用ConfigFilter(启用数据库密码加密)
  15.         config:
  16.           enabled: true

这个配置文件是真的真的很坑!!!

上面这个配置是我成功运行解密的配置文件,大家可以参考,下面说一下我遇到的坑:

①由于我用的是druid-spring-boot-starter而不是<artifactId>druid</artifactId>,这个druid-spring-boot-starter集成sql服务的,会和原生的druid产生影响的,导致根本没有检测到yml配置文件要求解密的配置,就反正我用了明文数据库密码也可以访问数据库......

②一开始参考网上千篇一律的配置文件是这么写的

  1. spring:
  2. application:
  3. name: CLOUD-DEPT-SERVER
  4. datasource:
  5. type: com.alibaba.druid.pool.DruidDataSource
  6. druid:
  7. driver-class-name: com.mysql.cj.jdbc.Driver
  8. url: jdbc:mysql://localhost:3306/cloud?characterEncoding=utf8&useSSL=false&serverTimezone=UTC
  9. username: root
  10. password: 上面生成的加密后的密码
  11. initial-size: 5
  12. max-active: 20
  13. max-wait: 60000
  14. min-idle: 5
  15. filter:
  16. config:
  17. enabled: true
  18. connect-properties: {config.decrypt: true,config.decrypt.key: 上面生成的公钥字符串}

注意到druid:   已经写在url上层,导致启动的时候一直报什么H2错误。这个配置文件的配置不适合我,有适合的朋友可以参考参考。


配置完成后启动,如果启动成功,证明我们的配置没有问题.

访问项目:http://localhost:8080/druid/index.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/829205
推荐阅读
相关标签
  

闽ICP备14008679号