日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 配置文件中密码不能是明文_配置文件中明文密码改为密文密码的方法

發(fā)布時間:2023/12/2 python 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 配置文件中密码不能是明文_配置文件中明文密码改为密文密码的方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們用java鏈接數(shù)據(jù)庫,不管是web項目還是小程序,都需要把數(shù)據(jù)庫密碼寫在配置文件中(當然你要寫死在程序里也沒有辦法),或者數(shù)據(jù)庫中,通常源代碼漏洞掃描都會告訴你不能有明文密碼,那么有什么辦法可以變?yōu)槊芪哪?#xff1f;

一、思路如下

寫一個非對稱加密的工具類,用私鑰加密明文,然后把公鑰和得到的密文放在配置文件中,代碼中讀取密碼的時候就把公鑰和密文讀取進來解密后給程序用。

很簡單吧!

二、一個實現(xiàn)

這里就舉一個實現(xiàn)的例子,直接借用druid提供的工具類來,畢竟我現(xiàn)在的項目數(shù)據(jù)庫連接池都是用阿里的Druid.

1、在pom.xml加入如下依賴

com.alibaba

druid-spring-boot-starter

1.1.9

當然可能老項目的話沒有用maven就直接添加如下jar即可;

druid-1.1.9.jar

2、寫一個如下工具類/**

* druid數(shù)據(jù)庫連接池中的密碼進行非對稱加密,使用方式

* 1、在cmd中執(zhí)行:java -cp druid-1.1.9.jar com.alibaba.druid.filter.config.ConfigTools 要加密的串

* 2、獲取公鑰和加密串放到配置文件中(cmd獲取方法右鍵標記,左鍵選取,按enter就復制到粘貼板了)

* 3、使用的時候,獲取公鑰和加密串后調(diào)用下面的decrypt方法進行解密

* @author lwh

*

*/

publicclassDruidEncryptDecrypt{

publicstaticStringdecrypt(StringpublicKey,StringencryptPassword){

try{

returnConfigTools.decrypt(publicKey,encryptPassword);

}catch(Exceptione){

// TODO Auto-generated catch block

e.printStackTrace();

}

return"";

}

}

當然,你也可以直接使用ConfigTools就可以了,不過我這個方便寫秘鑰生成步驟,你也可以直接用默認的秘鑰但是不建議。

2、按工具類中的步驟生成公鑰和KEY,如下圖所示

獲取到publicKey和passwd替換配置文件中的明文密碼.

3、修改以前的數(shù)據(jù)庫連接信息讀取類,對密碼調(diào)用DruidEncryptDecrypt進行解密,如下所示:publicStringgetPassword(){

//這里直接返回解密數(shù)據(jù)

returnDruidEncryptDecrypt.decrypt(publicKey,password);

}

這一步驟可能有人會問了,我在哪里加這個代碼,我用spring都是直接在application.xml中加上去的,調(diào)用不了java代碼啊?

親,這里有兩種辦法解決

辦法1、如果你是springboot項目,那么你可以百度下springboot整合druid密碼加密,那里有集成的,這個不多說。

辦法2、你看application.xml中其實就是一個dataSource的bean,你直接抽取出來寫成一個配置類即可,可以參考如下我的博文:

當然,辦法二是很通用的,所以我這里一般選擇辦法2.

搞定~

感想:要是被別人知道了配置文件也就是知道了密文和公鑰,那也是很容易知道真實密碼的,所以這個其實在我認為是自欺欺人罷了,還不如把公鑰或者明文密碼在程序啟動的時候參數(shù)輸入。

總結(jié)

以上是生活随笔為你收集整理的python 配置文件中密码不能是明文_配置文件中明文密码改为密文密码的方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。