更新時(shí)間:2018年01月05日10時(shí)15分 來源:傳智播客 瀏覽次數(shù):
Druid是阿里巴巴開源平臺(tái)上一個(gè)數(shù)據(jù)庫連接池實(shí)現(xiàn),它結(jié)合了C3P0、DBCP、PROXOOL等DB池的優(yōu)點(diǎn),同時(shí)加入了日志監(jiān)控,可以很好的監(jiān)控DB池連接和SQL的執(zhí)行情況,可以說是針對監(jiān)控而生的DB連接池!并且支持使用密碼加密鏈接數(shù)據(jù)庫!本文來給大家介紹一下,如果使用Druid中的密碼加密鏈接數(shù)據(jù)庫!
數(shù)據(jù)庫密碼直接寫在配置中,對運(yùn)維安全來說,是一個(gè)很大的挑戰(zhàn)。Druid為此提供一種數(shù)據(jù)庫密碼加密的手段ConfigFilter。
1. 使用druid-1.1.6.jar包中的ConfigTools工具類對您的數(shù)據(jù)庫密碼進(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ù)源需要對數(shù)據(jù)庫密碼進(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ù)庫名
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的加密算法,來對數(shù)據(jù)庫密碼進(jìn)行加密! 下一章給大家分享一下如何去使用druid的監(jiān)控功能對sql進(jìn)行監(jiān)控!
JavaEE技術(shù)知識(shí)點(diǎn):Myeclipse Web開發(fā)
2017-12-26JavaEE知識(shí)點(diǎn):MVC設(shè)計(jì)模式
2017-12-26JavaEE技術(shù)點(diǎn):MySQL目錄及基本命令介紹
2017-12-26JavaEE技術(shù)點(diǎn):MySQL編碼問題
2017-12-26Java基礎(chǔ)教程:多線程(5)-----線程的調(diào)度之優(yōu)先級(jí)
2017-11-14Java基礎(chǔ)教程:多線程(4)-----線程的生命周期
2017-11-14北京校區(qū)