轉載記錄 資料來源配置
阿新 • • 發佈:2018-11-20
專案中一般都會有資料庫配置檔案properties,其中使用者名稱和密碼一般都是明文儲存,這樣很不安全,下面介紹幾種對使用者名稱和密碼進行加密處理的方法
一、PropertyPlaceholderConfigurer
重寫PropertyPlaceholderConfigurer類,覆蓋裡面的convertProperty方法,對加密的使用者名稱和密碼進行解密處理並返回
替換xml配置檔案中的org.springframework.beans.factory.config.PropertyPlaceholderConfigurer
二、DruidDataSource
此種方法需要使用的資料來源是Druid
重寫DruidDataSource類,覆蓋裡面的setUsername和setPassword方法,對加密的使用者名稱和密碼進行解密處理並返回
替換xml配置檔案中的com.alibaba.druid.pool.DruidDataSource
三、DruidDataSource
此方法不需要重寫DruidDataSource類
(1)進入druid-1.1.1.jar所在目錄,執行
java -cp druid-1.1.1.jar com.alibaba.druid.filter.config.ConfigTools password
生成私鑰、公鑰、加密後的密碼
(2)在properties配置檔案中配置加密後的密碼和公鑰jdbc.publickey
(3)在資料來源配置中新增如下程式碼
<property name="filters" value="stat,config" />
<property name="connectionProperties" value="druid.stat.slowSqlMillis=5000;config.decrypt=true;config.decrypt.key=${jdbc.publickey}"/>