数据库连接用户名和密码加密
我們的工程項目往往是使用云數據庫的,連接使用賬號密碼就行了,但是程序里直接有密碼是十分不安全的
這里我參考了別人的博客對這個問題進行解決
1. 需求背景
我們在開發應用時,需要連接數據庫,一般把數據庫信息放在一個屬性配置文件中,比如java的mysql連接往往是這樣
jdbc.properties的代碼
jdbc.url=jdbc\:mysql\://127.0.0.1/messageboards jdbc.username=root jdbc.password=root?C#連接oracle的代碼
Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=139.196.213.70)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=Orcl)));Persist Security Info=True;User ID=scott;Password=tiger;隔著屏幕就感覺到了不安全,即使你對用戶給定了其訪問用戶表的權限,但是人家一脫庫這些東西全都被盜走可就太秀了
用戶表的數據我們都不明文明文存儲,何況這個更敏感的服務器信息呢,同樣還是加密處理
2. 實現原理
實現原理其實很簡單,配置文件存儲加密后的用戶名和密碼,重寫Druid數據源的兩個方法setUsername(String username)和setPassword(String password)對信息解密。
3. 實現方式
3.1 寫加密工具
首先得有一個加密工具,具有加解密功能,這里為了方便直接使用Druid中的工具類com.alibaba.druid.filter.config.ConfigTools。使用其中的encrypt(String plainText)方法和decrypt(String cipherText)方法采用默認的公私玥加解密。
3.2 加密配置文件
僅需將username和密碼換為自己加密過的就好
?
轉載于:https://www.cnblogs.com/BobHuang/p/11077049.html
總結
以上是生活随笔為你收集整理的数据库连接用户名和密码加密的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python工具-文件及文件夹移动及处理
- 下一篇: 背完这444句英语,你的口语绝对不成问题