首頁技術(shù)文章正文

JAVA:Druid鏈接池配置加密密碼鏈接數(shù)據(jù)庫(kù)

更新時(shí)間:2018-01-05 來源:黑馬程序員 瀏覽量:

Druid是阿里巴巴開源平臺(tái)上一個(gè)數(shù)據(jù)庫(kù)連接池實(shí)現(xiàn),它結(jié)合了C3P0、DBCP、PROXOOL等DB池的優(yōu)點(diǎn),同時(shí)加入了日志監(jiān)控,可以很好的監(jiān)控DB池連接和SQL的執(zhí)行情況,可以說是針對(duì)監(jiān)控而生的DB連接池!并且支持使用密碼加密鏈接數(shù)據(jù)庫(kù)!本文來給大家介紹一下,如果使用Druid中的密碼加密鏈接數(shù)據(jù)庫(kù)!

數(shù)據(jù)庫(kù)密碼直接寫在配置中,對(duì)運(yùn)維安全來說,是一個(gè)很大的挑戰(zhàn)。Druid為此提供一種數(shù)據(jù)庫(kù)密碼加密的手段ConfigFilter。

1. 使用druid-1.1.6.jar包中的ConfigTools工具類對(duì)您的數(shù)據(jù)庫(kù)密碼進(jìn)行加密! 命令如下: java -cp druid-1.1.6.jar com.alibaba.druid.filter.config.ConfigTools you_password

執(zhí)行完畢以后會(huì)在dos窗口中得到如下的內(nèi)容信息:

privateKey:MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAlFtDQgbIOR+cvpSUMO7HSKzWhsP/VI1FACGspyd0QBkvYhBSBTrjwhxtOvnHFoKXzD1kAh9ZHhqdq00Mp+9a3wIDAQABAkBrAMwpAkVF1kQyvW2JQZ/hDjCI8TLnJCGBb8hco7tYQvVgJ

YSAyNBejkLP4zOubOEftYqEN6NB07kwo53uV675AiEA5Es8gI8blYg3K/54A7wjlNGjxegdBkaNkrKAel3Vp50CIQCmXHx1KHldQMaOVyh0Clw9viEBmMaxZOX4a7Z8841pqwIhAOMDEaHBLKvQLRS5UXxdTICCyrlUq+/+nm8ew3Vq87ddAiEApG1PGeEaK2Bln7Rnq

GHBD8mHB/P/lr/6SNH1eYSj5acCIAnhIJL7WiVdvoNse4CAzzW7arbV3WZcgLewOmQJ/GXR

publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJRbQ0IGyDkfnL6UlDDux0is1obD/1SNRQAhrKcndEAZL2IQUgU648IcbTr5xxaCl8w9ZAIfWR4anatNDKfvWt8CAwEAAQ==

password:Y3KoItiTinbXyGlVK/Nr7Zr8jNJT1icStrEWNA9LcqBHKwV0fqdbw0T8LCOZ18QX55rcNAKRbyjzpyKrr+QceQ==

上述信息包含了3部分的內(nèi)容: privateKey(私鑰) , publicKey(公鑰) , password(加密以后的密碼)

2. 配置數(shù)據(jù)源,提示Druid數(shù)據(jù)源需要對(duì)數(shù)據(jù)庫(kù)密碼進(jìn)行解密。

當(dāng)然你也可以把上述的鏈接信息編寫到一個(gè)db.properties文件中,然后加載這個(gè)配置文件,在使用${}的形式引用配置文件中的內(nèi)容即可!

如果您使用的是spring boot,那么只需要在application.properties文件中進(jìn)行如下配置即可:

spring.datasource.druid.driver-class-name=com.mysql.jdbc.Driver

spring.datasource.druid.url=jdbc:mysql://ip:端口號(hào)/數(shù)據(jù)庫(kù)名

spring.datasource.druid.username=root

spring.datasource.druid.password=Y3KoItiTinbXyGlVK/Nr7Zr8jNJT1icStrEWNA9LcqBHKwV0fqdbw0T8LCOZ18QX55rcNAKRbyjzpyKrr+QceQ==

public-key=MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJRbQ0IGyDkfnL6UlDDux0is1obD/1SNRQAhrKcndEAZL2IQUgU648IcbTr5xxaCl8w9ZAIfWR4anatNDKfvWt8CAwEAAQ==

spring.datasource.druid.filter.config.enabled=true

spring.datasource.druid.connection-properties=config.decrypt=true;config.decrypt.key=${public-key}

總結(jié): 本章主要給大家講解了一下,如何去使用druid的加密算法,來對(duì)數(shù)據(jù)庫(kù)密碼進(jìn)行加密! 下一章給大家分享一下如何去使用druid的監(jiān)控功能對(duì)sql進(jìn)行監(jiān)控!


本文版權(quán)歸黑馬程序員JavaEE學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!

作者:黑馬程序員JavaEE培訓(xùn)學(xué)院

首發(fā):http://java.itheima.com/

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!