boot数据加解密 spring_springboot项目使用druid对数据库密码的加解密
作為一名有經(jīng)驗(yàn)的開發(fā)人員,是不習(xí)慣將明文直接放在代碼中,總覺得有隱患。今天搭建了一個(gè)springboot項(xiàng)目,需要集成數(shù)據(jù)庫,調(diào)取數(shù)據(jù)。
在配置 datasource的時(shí)候,想要將密碼改為密文,連接數(shù)據(jù)庫時(shí)再進(jìn)行解密(代碼中是單數(shù)據(jù)庫源,druid自帶解密,配置一下就行),使用的是阿里的druid
1、pom文件引入druid
阿里 Druid為SpringBoot 提供專門的start依賴
2、生成加密的密碼、公鑰(為解密所用)、秘鑰(為加密所用)
有兩種方法(本質(zhì)是一樣的)
使用命令:java -cp jar包名 com.alibaba.druid.filter.ConfigTools 需要加密的密碼
注:這里的jar包指的是上圖中引入的druid
在下載下的jar包路徑下使用cmd命令行
如:java -cp druid-1.1.14.jar com.alibaba.druid.filter.config.ConfigTools 123456
另一種方法是在代碼中調(diào)用ConfigTools類的入口方法。(其實(shí)上邊的命令也是調(diào)用了ConfigTools類中入口函數(shù))
單元測(cè)試調(diào)用ConfigTools:
運(yùn)行結(jié)果:
3、application.yml配置
我試過使用下邊這種寫法:啟動(dòng)不報(bào)錯(cuò),但是鏈接數(shù)據(jù)庫時(shí)提示密碼錯(cuò)誤。(因?yàn)檫@種寫法,不會(huì)解密,報(bào)錯(cuò)是正常的)
至此,加密解密完成。
值得注意的是DruidDataSource這個(gè)類,可以在源碼中找到報(bào)錯(cuò)信息以及錯(cuò)誤原因:如密碼不正確,如何鎖定到?jīng)]有解密的這個(gè)原因:
這個(gè)方法點(diǎn)進(jìn)去
總結(jié)
以上是生活随笔為你收集整理的boot数据加解密 spring_springboot项目使用druid对数据库密码的加解密的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: word2013插入excel对象报错_
- 下一篇: cms和mysql区别_CMS不要让My