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
#開(kāi)啟多數(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類(lèi)生成密碼和公鑰,之后開(kāi)啟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è)置白名單,不填則允許所有訪(fǎng)問(wèn)
allow:
url-pattern: /druid/*
# 控制臺(tái)管理用戶(hù)名和密碼
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.需要注意的地方
生成的公鑰和密碼配置在這里,用下面的工具類(lèi)生成
#DruidEncryptorUtils類(lèi)生成密碼和公鑰,之后開(kāi)啟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è)配置是必須開(kāi)啟的
config:
enabled: true4.生成密碼工具類(lèi)
生成方法
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)文章
詳解如何保護(hù)SpringBoot配置文件中的敏感信息
使用過(guò)SpringBoot配置文件的朋友都知道,資源文件中的內(nèi)容通常情況下是明文顯示,安全性就比較低一些,所以為了提高安全性,就需要對(duì)配置文件中的敏感信息進(jìn)行保護(hù),下面就為大家介紹一下實(shí)現(xiàn)方法吧2023-07-07
Mybatis 中的sql批量修改方法實(shí)現(xiàn)
在項(xiàng)目中遇到需要批量更新的功能,原本想的是在Java中用循環(huán)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)去更新,但是心里總覺(jué)得這樣做會(huì)不會(huì)太頻繁了,太耗費(fèi)資源了,效率也很低,查了下mybatis的批量操作,原來(lái)確實(shí)有<foreach>標(biāo)簽可以做到,下面通過(guò)本文給大家介紹下2017-01-01
Java 實(shí)現(xiàn)萬(wàn)年歷總結(jié)
這篇文章主要介紹了Java 萬(wàn)年歷實(shí)現(xiàn)代碼的相關(guān)資料,需要的朋友可以參考下2016-09-09
springboot如何使用logback-spring配置日志格式,并分環(huán)境配置
這篇文章主要介紹了springboot如何使用logback-spring配置日志格式,并分環(huán)境配置的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java控制臺(tái)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(集合版)
這篇文章主要為大家詳細(xì)介紹了java控制臺(tái)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的集合版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04

