springboot druid數(shù)據(jù)庫配置密碼加密的實(shí)現(xiàn)
本文主要介紹了springboot druid數(shù)據(jù)庫配置密碼加密的實(shí)現(xiàn),具體如下:
1.使用的druid版本
<!-- 阿里數(shù)據(jù)庫連接池 --> <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: # 主庫數(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)行一次檢測,檢測需要關(guān)閉的空閑連接,單位是毫秒 timeBetweenEvictionRunsMillis: 60000 # 配置一個(gè)連接在池中最小生存的時(shí)間,單位是毫秒 minEvictableIdleTimeMillis: 300000 # 配置一個(gè)連接在池中最大生存的時(shí)間,單位是毫秒 maxEvictableIdleTimeMillis: 900000 # 配置檢測連接是否有效 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: true
3.需要注意的地方
生成的公鑰和密碼配置在這里,用下面的工具類生成
#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: true
4.生成密碼工具類
生成方法
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ù)庫配置密碼加密的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)springboot druid配置密碼加密內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解如何保護(hù)SpringBoot配置文件中的敏感信息
使用過SpringBoot配置文件的朋友都知道,資源文件中的內(nèi)容通常情況下是明文顯示,安全性就比較低一些,所以為了提高安全性,就需要對(duì)配置文件中的敏感信息進(jìn)行保護(hù),下面就為大家介紹一下實(shí)現(xiàn)方法吧2023-07-07Mybatis 中的sql批量修改方法實(shí)現(xiàn)
在項(xiàng)目中遇到需要批量更新的功能,原本想的是在Java中用循環(huán)訪問數(shù)據(jù)庫去更新,但是心里總覺得這樣做會(huì)不會(huì)太頻繁了,太耗費(fèi)資源了,效率也很低,查了下mybatis的批量操作,原來確實(shí)有<foreach>標(biāo)簽可以做到,下面通過本文給大家介紹下2017-01-01springboot如何使用logback-spring配置日志格式,并分環(huán)境配置
這篇文章主要介紹了springboot如何使用logback-spring配置日志格式,并分環(huán)境配置的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07java控制臺(tái)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(集合版)
這篇文章主要為大家詳細(xì)介紹了java控制臺(tái)實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的集合版,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04