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數據庫密碼加密內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: