Springboot2 集成 druid 加密数据库密码的配置方法

 更新时间:2021年07月23日 17:09:51   作者:SioH  
这篇文章给大家介绍Springboot2 集成 druid 加密数据库密码的配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

一:环境

springboot 2.x
druid 1.1.21

二:druid加密数据库密码

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

java -cp jar包路径 com.alibaba.druid.filter.config.ConfigTools 数据库密码
java -cp druid-1.1.21.jar com.alibaba.druid.filter.config.ConfigTools 数据库密码

运行成功输出

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

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

三:单数据源

添加依赖

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

yml配置

spring:
  datasource:
    name: 名称
    url: 地址
    username: 用户名
    password: 加密后的密码
    driver-class-name: com.mysql.cj.jdbc.Driver
    # druid
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
      #特别提示:配置数据库加密 config这个不能忘掉
      filters: stat,wall,config
      use-global-data-source-stat: true
      # 开启解密config.decrypt=true; 公钥:config.decrypt.key
      connect-properties:
        druid.stat.mergeSql: true
        druid.stat.slowSqlMillis: 5000
        druid.stat.logSlowSql: true
        config.decrypt: true
        config.decrypt.key: 公钥
      # 连接池的配置信息
      # 初始化大小,最小空闲连接数,最大活跃数
      initial-size: 5
      min-idle: 5
      maxActive: 20
      # 配置获取连接等待超时的时间
      maxWait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      timeBetweenEvictionRunsMillis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      minEvictableIdleTimeMillis: 300000
      validationQuery: SELECT 1 FROM DUAL
      testWhileIdle: true
      testOnBorrow: false
      testOnReturn: false
      # 打开PSCache,并且指定每个连接上PSCache的大小
      poolPreparedStatements: true
      maxPoolPreparedStatementPerConnectionSize: 20

四:多数据源

添加依赖

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.21</version>
</dependency>
<dependency>
   <groupId>com.baomidou</groupId>
   <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
   <version>2.5.3</version>
</dependency>

启动类配置

@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)

eg:

yml配置

spring:
  datasource:
    dynamic:
      # 默认数据源
      primary: CLOUD
      datasource:
        CLOUD:
          url: 数据库地址
          username: 用户名
          password: 加密后的密码
          driver-class-name: com.mysql.cj.jdbc.Driver
          druid:
            public-key: 加密后的公钥
        WAREHOUSE:
          driver-class-name: com.mysql.cj.jdbc.Driver
          url: 数据库地址
          username: 用户名
          password: 加密后的密码
          druid:
            public-key: 加密后的公钥

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

相关文章

  • Java客户端通过HTTPS连接到Easysearch实现过程

    Java客户端通过HTTPS连接到Easysearch实现过程

    这篇文章主要为大家介绍了Java客户端通过HTTPS连接到Easysearch实现过程详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • java多线程解决生产者消费者问题

    java多线程解决生产者消费者问题

    这篇文章主要介绍了java多线程解决生产者消费者问题的方法,实例分析了java采用多线程的方法解决生产者消费者问题的相关技巧,需要的朋友可以参考下
    2015-05-05
  • Java求出任意数字的各个位数之和方式

    Java求出任意数字的各个位数之和方式

    这篇文章主要介绍了Java求出任意数字的各个位数之和方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-01-01
  • mybatis plus表的创建时间和修改时间的操作方法

    mybatis plus表的创建时间和修改时间的操作方法

    这篇文章主要介绍了mybatis plus表的创建时间和修改时间的实现方法,本文给大家分享两种方法,每种方法通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-09-09
  • 关于properties配置文件的加密方式

    关于properties配置文件的加密方式

    这篇文章主要介绍了关于properties配置文件的加密方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • Spring Boot请求处理之常用参数注解使用教程

    Spring Boot请求处理之常用参数注解使用教程

    这篇文章主要给大家介绍了关于Spring Boot请求处理之常用参数注解使用的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03
  • Java中ShardingSphere 数据分片的实现

    Java中ShardingSphere 数据分片的实现

    其实很多人对分库分表多少都有点恐惧,我们今天用ShardingSphere 给大家演示数据分片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • spring cloud gateway转发服务报错的解决

    spring cloud gateway转发服务报错的解决

    这篇文章主要介绍了spring cloud gateway转发服务报错的解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09
  • SpringBoot四种读取properties文件的方式(小结)

    SpringBoot四种读取properties文件的方式(小结)

    这篇文章主要介绍了SpringBoot四种读取properties文件的方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Java详解多线程协作作业之信号同步

    Java详解多线程协作作业之信号同步

    信号量同步是指在不同线程之间,通过传递同步信号量来协调线程执行的先后次序。CountDownLatch是基于时间维度的Semaphore则是基于信号维度的
    2022-05-05

最新评论