springboot配置druid數據庫密碼加密

https://blog.csdn.net/qq_25646191/article/details/107940037

一、說明
環境:idea 2019.2 + druid-1.1.6
springboot集成Druid 請參考博文:https://blog.csdn.net/qq_25646191/article/details/107937684

二、執行命令加密數據庫密碼
java -cp druid的jar包路徑 com.alibaba.druid.filter.config.ConfigTools you_password

2-1、項目中定位到druid的jar包


2-2、右鍵 -> Open Library Settings -> ctrl +c 複製jar路徑

得到druid的jar包路徑:
D:\apache-maven-3.3.9\mydata\Repository\com\alibaba\druid\1.1.6\druid-1.1.6.jar

2-3、打開cmd命令行窗口
假如你的密碼是 1234
winds鍵 + r -> 輸入cmd -> 按回車鍵

命令行執行(注意每次執行結果不一樣,執行完請將結果複製保存下)

java -cp D:\apache-maven-3.3.9\mydata\Repository\com\alibaba\druid\1.1.6\druid-1.1.6.jar com.alibaba.druid.filter.config.ConfigTools 1234
1
輸出:

privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEA04tkqzedSRvSl4EDTVg183gKxSDlc1imRbLjBvAl+7w58rvmNP9lOT30uSPBVbN2i7u81PsW44aW/PE19mCU2wIDAQABAkBTvY9ZM8fAhBIGRVzgRjX9LhzdUhtiYMpZNuol+fSfRHfCKUWC3QkcizPP8KwazePslqVvpMJAX/AEg/sCN3Z5AiEA+5hmCo0bsly1Y7gwD45PVEjutoSXRnA9YGbMNfDU5IcCIQDXP36lE2TCfH8/alrXjE2KDjMvhN/urI6H0tJSlV+2DQIgD5/pRmJ5A9yqDyVTJsQpvQxCdudJFcDGrwPzTq5EKmUCIQC2YnPCFiO7c9gyeMDOgXC2OQAAFLvWNdpzlhxmo3E9BQIhAKu5ooDRq2b64sIc9UfS1h0rm4qfsGDBNjKOosM6Y7pc
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANOLZKs3nUkb0peBA01YNfN4CsUg5XNYpkWy4wbwJfu8OfK75jT/ZTk99LkjwVWzdou7vNT7FuOGlvzxNfZglNsCAwEAAQ==
password:tkn8Joi6uWC1ZRX/l3HQGUwfIN0RbNPOZNDaeaHLNrzxRDaBASxZ63CNSXk/aTRSGLvr0ZbpsVGzxozMFV9Baw==
1
2
3
命令行截圖:


三、修改配置文件application.properties
3-1、password 修改爲 上面命令行執行得到的password
spring.datasource.password=tkn8Joi6uWC1ZRX/l3HQGUwfIN0RbNPOZNDaeaHLNrzxRDaBASxZ63CNSXk/aTRSGLvr0ZbpsVGzxozMFV9Baw==
1
3-2、filter屬性追加config
spring.datasource.filters=stat,wall,slf4j,config
1
3-3、connectionProperties屬性
connectionProperties屬性追加 ;config.decrypt=true;config.decrypt.key=${publickey}
${publickey}爲上面命令行執行得到的publicKey

spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANOLZKs3nUkb0peBA01YNfN4CsUg5XNYpkWy4wbwJfu8OfK75jT/ZTk99LkjwVWzdou7vNT7FuOGlvzxNfZglNsCAwEAAQ==
1
3-4、application.properties相關druid完整配置
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=tkn8Joi6uWC1ZRX/l3HQGUwfIN0RbNPOZNDaeaHLNrzxRDaBASxZ63CNSXk/aTRSGLvr0ZbpsVGzxozMFV9Baw==
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

#連接池的配置信息
## 初始化大小,最小,最大
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
## 配置獲取連接等待超時的時間
spring.datasource.maxWait=60000
# 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒
spring.datasource.timeBetweenEvictionRunsMillis=60000
# 配置一個連接在池中最小生存的時間,單位是毫秒
spring.datasource.minEvictableIdleTimeMillis=300000
spring.datasource.validationQuery=SELECT 1 FROM DUAL
spring.datasource.testWhileIdle=true
spring.datasource.testOnBorrow=false
spring.datasource.testOnReturn=false
# 打開PSCache,並且指定每個連接上PSCache的大小(防火牆這一塊一定不能開,sqlite不支持,會導致奇怪的異常)
spring.datasource.poolPreparedStatements=false
spring.datasource.maxPoolPreparedStatementPerConnectionSize=20
# 配置監控統計攔截的filters,去掉後監控界面sql無法統計,'wall'用於防火牆
spring.datasource.filters=stat,wall,slf4j,config
# 通過connectProperties屬性來打開mergeSql功能;慢SQL記錄
spring.datasource.connectionProperties=druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANOLZKs3nUkb0peBA01YNfN4CsUg5XNYpkWy4wbwJfu8OfK75jT/ZTk99LkjwVWzdou7vNT7FuOGlvzxNfZglNsCAwEAAQ==
# 合併多個DruidDataSource的監控數據
spring.datasource.useGlobalDataSourceStat=true
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
四、啓動springboot項目驗證


五、官網參考
https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter
————————————————
版權聲明:本文爲CSDN博主「懵懂無知的蝸牛」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_25646191/article/details/107940037

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章