springboot druid數(shù)據(jù)庫(kù)配置密碼加密的實(shí)現(xiàn)
本文主要介紹了springboot druid數(shù)據(jù)庫(kù)配置密碼加密的實(shí)現(xiàn),具體如下:

1.使用的druid版本
<!-- 阿里數(shù)據(jù)庫(kù)連接池 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>1.2.21</version>
</dependency>2.配置文件
# Spring配置
spring:
# 數(shù)據(jù)源配置
datasource:
type: com.alibaba.druid.pool.DruidDataSource
#開啟多數(shù)據(jù)源取消這個(gè)配置在master和slave下配置
#driverClassName: com.mysql.cj.jdbc.Driver
druid:
# 主庫(kù)數(shù)據(jù)源
master:
url: jdbc:mysql://192.168.1.23:3306/demo?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: V2MQgERfNwkoYXkiMcYLCsy45HAEc9EVrhR5VNAPTwFx4ycayVWvlqxkYYCQuujccoVFJ5MZVROkVyjUgsl2NQ==
#DruidEncryptorUtils類生成密碼和公鑰,之后開啟druid:filter:config:enabled=true
publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMCh+KGwVH6CERudOz1Fyr+kgUSvjxwcbuv9b8rKAv++lwTA9iLqXc+eUW37PUWns+4+uJ6Y2WRsO084RmXhsi0CAwEAAQ==
connectionProperties: config.decrypt=true;config.decrypt.key=${spring.datasource.druid.master.publicKey}
slave:
enabled: false
url: jdbc:sqlserver://192.168.1.224:1433;SelectMethod=cursor;DatabaseName=genocs
username: sa
password: 123
# 初始連接數(shù)
initialSize: 5
# 最小連接池?cái)?shù)量
minIdle: 10
# 最大連接池?cái)?shù)量
maxActive: 20
# 配置獲取連接等待超時(shí)的時(shí)間
maxWait: 60000
# 配置間隔多久才進(jìn)行一次檢測(cè),檢測(cè)需要關(guān)閉的空閑連接,單位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒
minEvictableIdleTimeMillis: 300000
# 配置一個(gè)連接在池中最大生存的時(shí)間,單位是毫秒
maxEvictableIdleTimeMillis: 900000
# 配置檢測(cè)連接是否有效
validationQuery: SELECT 1 FROM DUAL
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
webStatFilter:
enabled: true
statViewServlet:
enabled: true
# 設(shè)置白名單,不填則允許所有訪問
allow:
url-pattern: /druid/*
# 控制臺(tái)管理用戶名和密碼
login-username: admin
login-password: pw2024
filter:
stat:
enabled: true
# 慢SQL記錄
log-slow-sql: true
slow-sql-millis: 1000
merge-sql: true
wall:
config:
multi-statement-allow: true
config:
enabled: true3.需要注意的地方
生成的公鑰和密碼配置在這里,用下面的工具類生成
#DruidEncryptorUtils類生成密碼和公鑰,之后開啟druid:filter:config:enabled=true publicKey: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAMCh+KGwVH6CERudOz1Fyr+kgUSvjxwcbuv9b8rKAv++lwTA9iLqXc+eUW37PUWns+4+uJ6Y2WRsO084RmXhsi0CAwEAAQ==
connectionProperties: config.decrypt=true;config.decrypt.key=${spring.datasource.druid.master.publicKey}
這個(gè)配置是必須開啟的
config:
enabled: true4.生成密碼工具類
生成方法
import com.alibaba.druid.filter.config.ConfigTools;
public class DruidEncryptorUtils {
public static void main(String[] args) {
try {
String password = "G@2023";
String[] arr = ConfigTools.genKeyPair(512);
//System.out.println("privateKey:" + arr[0]);
System.out.println("publicKey:" + arr[1]);
System.out.println("password:" + ConfigTools.encrypt(arr[0], password));
} catch (Exception e) {
e.printStackTrace();
}
}
}生成的公鑰和密碼
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOkMzk15jEt3savaAVd+u7ZNidHJSJrOEmwloLqfAPbqtBvyzj5GQ6HViOUUB1WaXxjTdwxG9u/cE85NTMvDSZ0CAwEAAQ==
password:Q/RmtiEqStjze1g8zbj7uOOBColrcLNUJ7bEWKD6kSt9WTzTvXHjdOn4o/HmXqE7knH+4P44UbIWZzrKEJgXVA==
到此這篇關(guān)于springboot druid數(shù)據(jù)庫(kù)配置密碼加密的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)springboot druid配置密碼加密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot Redis批量存取數(shù)據(jù)的操作
這篇文章主要介紹了SpringBoot Redis批量存取數(shù)據(jù)的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Spring實(shí)戰(zhàn)之依賴關(guān)系注入之后的行為示例
這篇文章主要介紹了Spring實(shí)戰(zhàn)之依賴關(guān)系注入之后的行為,結(jié)合實(shí)例形式分析了Spring依賴關(guān)系注入之后的行為實(shí)現(xiàn)與使用相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
Java使用wait/notify實(shí)現(xiàn)線程間通信下篇
wait()和notify()是直接隸屬于Object類,也就是說所有對(duì)象都擁有這一對(duì)方法,下面這篇文章主要給大家介紹了關(guān)于使用wait/notify實(shí)現(xiàn)線程間通信的相關(guān)資料,需要的朋友可以參考下2022-12-12
java向微信服務(wù)號(hào)發(fā)送消息的完整步驟實(shí)例
這篇文章主要介紹了java向微信服務(wù)號(hào)發(fā)送消息的相關(guān)資料,包括申請(qǐng)測(cè)試號(hào)獲取appID/appsecret、關(guān)注公眾號(hào)獲取openID、配置消息模板及代碼實(shí)現(xiàn),需要的朋友可以參考下2025-06-06
SpringBoot整合knife4j3.0.3實(shí)現(xiàn)過程
文章介紹了如何在SpringBoot項(xiàng)目中使用Swagger和Knife4j來生成和增強(qiáng)API文檔,Swagger通過注解自動(dòng)生成API文檔,而Knife4j則提供了更豐富的功能,如在線調(diào)試、多語言支持和離線文檔導(dǎo)出等,通過配置和使用這些工具,可以提高API文檔的管理和使用效率2026-01-01
springboot讀取自定義配置文件實(shí)現(xiàn)過程
本文介紹Spring Boot中配置文件讀取方法,包括使用@Value注解讀取application.properties和自定義properties文件,以及通過ResourceBundle編寫工具類ResourceUtil實(shí)現(xiàn)配置獲取2025-08-08
使用IntelliJ IDEA 15和Maven創(chuàng)建Java Web項(xiàng)目(圖文)
本篇文章主要介紹了使用IntelliJ IDEA 15和Maven創(chuàng)建Java Web項(xiàng)目(圖文),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
基于Java利用static實(shí)現(xiàn)單例模式
這篇文章主要介紹了基于Java利用static實(shí)現(xiàn)單例模式,當(dāng)在多個(gè)線程同時(shí)觸發(fā)類的初始化過程的時(shí)候static不會(huì)被多次執(zhí)行,下面我們一起進(jìn)入文章看看具體要的原因2022-01-01

