好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

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:

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

查看更多关于Springboot2 集成 druid 加密数据库密码的配置方法的详细内容...

  阅读:35次