服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Springboot2 集成 druid 加密数据库密码的配置方法

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

2021-10-21 10:30SioH Java教程

这篇文章给大家介绍Springboot2 集成 druid 加密数据库密码的配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

一:环境

springboot 2.x
druid 1.1.21

二:druid加密数据库密码

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

?
1
2
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配置文件即可

三:单数据源

添加依赖

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

yml配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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

四:多数据源

添加依赖

?
1
2
3
4
5
6
7
8
9
10
<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>

启动类配置

?
1
@SpringBootApplication(exclude = DruidDataSourceAutoConfigure.class)

eg:

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

yml配置

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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数据库密码加密内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/iconhot/article/details/119000708

延伸 · 阅读

精彩推荐