1. 程式人生 > >使用druid 數據池對連接密碼加密

使用druid 數據池對連接密碼加密

監控 private ckey 命令 所在 public asc 密碼加密 under

使用druid 數據池對連接密碼加密

1、使用maven導入druid的jar包

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.0.18</version>

</dependency>

2、
修改數據庫配置,在配置數據源處,添加此兩行代碼

技術分享

如圖

<!-- 開啟Druid的監控統計功能 -->

<property name="filters" value="config" />

<!-- 開啟數據庫密碼解密-->

<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publickey}" />

3.配置文件config.properties中,添加此行代碼
技術分享
如圖  publickey=${jdbc.mysql.publickey} 
主要作用是對應加密後的公鑰。
4.修改pom.xml文件,添加此兩行代碼。

技術分享

如圖  添加  <jdbc.mysql.publickey></jdbc.mysql.publickey>
 

5.以上配置好後,使用durid的加密算法生成加密密碼和公鑰。

首先要找到jar包所在位置,然後shift+右鍵,點擊 在此處打開命令窗口,然後輸入:

java -cp druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools 1234567a
(druid-1.0.18.jar:對應的jar包名稱,12345678a:對應的數據庫密碼)
回車,生成一大堆東西:
 

技術分享

如圖
privateKey:MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEA3MAoIF9F/wDJneKskSBJ9VE8VFeeShJyAaHM9I7LphSDvf8xxLAv2LcP+t1LHMa/yElVDr4cyFv5azWxKOwjxwIDAQABAkEAwIpx9VpkKPk84ZM2RRbOq0QBxObvT1grTDUeGSj7g4y+ZH+I+DHnJdzHrYWWTJ2Hx3evesp+iVUy8Ni/dvkUEQIhAPGL+df7YqaiL5lSgFqNNkrnw0/8j6v4GxSkofG2jGMFAiEA6fWfyil8+aa5j+NgA0MZYWQfRRNa2jz3PTClttTV/VsCIELkFaN3TWGCBpZ6H2t0MbXaqt7qvUrNYYp88RAEEqqVAiBZ99yUr1Oh5V1iWbuoRXtTGl9z/rdnSR6CZ1yybDJGFQIgYkRZkoMq1sJ7b/Jlh4Prp7ntzzmmkpu9rogB4iE9p24=
privateKey:私鑰,用於生成密文密碼用,不用管
 
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANzAKCBfRf8AyZ3irJEgSfVRPFRXnkoScgGhzPSOy6YUg73/McSwL9i3D/rdSxzGv8hJVQ6+HMhb+Ws1sSjsI8cCAwEAAQ==
publicKey:就是步驟4中publickey中的值,用於解密密碼
 
password:HRDx+yN+mqk7hNAzZQ8M4wkV7hKgjE3XIAP1/gvjjwx8ZFrWmEvVfmDwQkyB3qasffxZhFrxOmUuDPIIVkFDnQ==
paasword:加密後的密碼
 
將生成publicKey和password分別放入步驟4中,password2和publickey中。
配置完成。
 
備註:
1.  每次使用jar包生成加密密碼時都會出現新的加密信息,但是之前生成的加密信息扔可用,所以每次只生成一次即可。
2.  將publickey和password都放在pom.xml中時,如果更改pom中配置的key時,需要重新使用maven命令clean後再打包,不然會連接失敗。
3.  或者修改配置,pom中只有加密後的password,不放publickey,將公鑰放入config.properties中,如圖

技術分享


 
 


使用druid 數據池對連接密碼加密