使用durid的ConfigFilter對數據庫密碼加密

原文連接:http://blog.csdn.net/aixiaoyang168/article/details/49930513

-----------------------------------------------------------------------

對于大部分程序員來說,數據庫的信息,如用戶名,密碼等信息一般都寫到配置文件中,便于修改和維護,然而這對于運維安全來說確實一個很大的挑戰,如果黑客進入到你的系統里面去,那這些數據庫用戶名和密碼就一目了然,這個是很不安全的。Druid為此提供一種數據庫密碼加密的手段ConfigFilter,使用他加密數據庫密碼,即使別人拿到了數據庫連接密碼,破解這個密碼也得稍稍花點時間了,也對咱們的網站安全性提高了一些。

好了,廢話少說,配置一下也是很簡單的啦!

第一步:?
執行druid的命令加密數據庫密碼?
命令:?
java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools xxxxxx

舉個栗子:

命令:
D:\>java -cp druid-1.0.15.jar com.alibaba.druid.filter.config.ConfigTools 123456
輸出:
Biyu5YzU+6sxDRbmWEa3B2uUcImzDo0BuXjTlL505+/pTb+/0Oqd3ou1R6J8+9Fy3CYrM18nBDqf6wAaPgUGOg==
  • 1
  • 2
  • 3
  • 4

輸出的結果就是加密后的密碼啦!xxxxxx為你的數據庫密碼明文。

第二步:?
配置數據源,使用Druid配置數據源對數據庫密碼進行解密。

<!-- Druid JNDI DataSource for J2EE environments -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"><property name="url" value="${jdbcUrl}" /><property name="username" value="${username}" /><property name="password" value="${password}" /><!-- 配置初始化大小、最小、最大 --><property name="initialSize" value="5" /><property name="minIdle" value="5" /><property name="maxActive" value="20" /><!-- 配置獲取連接等待超時的時間 --><property name="maxWait" value="60000" /><!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 --><property name="timeBetweenEvictionRunsMillis" value="3000" /><!-- 配置一個連接在池中最小生存的時間,單位是毫秒 --><property name="minEvictableIdleTimeMillis" value="300000" /><property name="validationQuery" value="SELECT 'x' FROM DUAL" /><property name="testWhileIdle" value="true" /><property name="testOnBorrow" value="false" /><property name="testOnReturn" value="false" /><!--打開PSCache,并且指定每個連接上PSCache的大小 ,Oracle,把poolPreparedStatements配置為true,mysql可以配置為false。分庫分表較多的數據庫,建議配置為false--><!--<property name="poolPreparedStatements" value="true" />--><!--<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />--><!-- 開啟Druid的監控統計功能 --><property name="filters" value="stat,config" /><!-- 開啟數據庫密碼解密--><property name="connectionProperties" value="config.decrypt=true" />            
</bean>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

說明:這個數據源配置跟上一篇的配置大致相同,唯一的區別就是增加了開啟數據庫密碼解密功能。name=”connectionProperties” value=”config.decrypt=true”,這個就是配置druid進行數據庫密碼解密。?
值得注意的是:property name=”filters” value=”stat,config”這里面可以配置多個filter,除了上一次監控統計的stat,這次解密我們需要添加config。

經過簡單的配置,這樣配置文件里面的密碼加密之后,有可以連接到數據庫啦!

當然,使用ConfigFilter解密密碼,有三種方式配置:?
1) 可以在配置文件my.properties中指定config.decrypt=true?
2) 也可以在DruidDataSource的ConnectionProperties中指定config.decrypt=true?
3) 也可以在jvm啟動參數中指定-Ddruid.config.decrypt=true

ConfigFilter不僅僅可以進行數據庫加密,還可以支持配置文件從本地文件系統中讀取,從遠程http文件中讀取配置操作,大家可以試試看!


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538148.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538148.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538148.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

序(不知道是什么時候的模擬題)

序 【問題背景】 zhx 給他的妹子們排序。 【問題描述】 \(zhx\) 有 \(N\) 個妹子&#xff0c; 他對第 \(i\) 個妹子的好感度為\(a_i\), 且所有\(a_i\),兩兩不相等。 現在 \(N\) 個妹子隨意站成一排&#xff0c; 他要將她們根據好感度從小到大排序。 他使用的是冒泡排序算法&…

html寫用戶導入,用戶基本信息錄入.html

&#xfeff;用戶基本信息錄入$axure.utils.getTransparentGifPath function() { return resources/images/transparent.gif; };$axure.utils.getOtherPath function() { return resources/Other.html; };$axure.utils.getReloadPath function() { return resources/reload.…

adg oracle 架構_技術棧數據中心有了ADG架構就高枕無憂了?你還需要做這一步!...

技術棧數據中心有了ADG架構&#xff0c;就高枕無憂了&#xff1f;你還需要做這一步&#xff01;如果把數據中心建設比喻成西天取經&#xff0c;那旅途上的九九八十一難就是我們不得不躲閃、跨越、攻堅的堡壘。即日起&#xff0c;希嘉推出“技術棧”板塊&#xff0c;集結數據治理…

String length must be a multiple of four.

今天在整理2013年的工作時的一個項目&#xff0c;修改了數據庫連接&#xff0c;初始化數據庫&#xff0c;部署運行報錯&#xff0c;主要原因是阿里巴巴druid報錯&#xff0c;導致DataSource初始化失敗。 druid報錯日志&#xff1a; Caused by: java.lang.IllegalArgumentExce…

論文筆記:Person Re-identification with Deep Similarity-Guided Graph Neural Network

Person Re-identification with Deep Similarity-Guided Graph Neural Network 2018-07-27 17:41:45 Paper&#xff1a; https://128.84.21.199/pdf/1807.09975.pdf 本文將 Graph Neural Network (GNN) 應用到 person re-ID 的任務中&#xff0c;用于 model 不同 prob-gallery …

CGLib動態代理原理及實現

原文連接&#xff1a;http://songbo-mail-126-com.iteye.com/blog/968792 ------------------------------------------------------------------------ JDK實現動態代理需要實現類通過接口定義業務方法&#xff0c;對于沒有接口的類&#xff0c;如何實現動態代理呢&#xff…

微型計算機的硬件組成中ssd硬盤通常是指,2015年計算機一級msoffice選擇題121道及答案...

31、通常&#xff0c;在微機中標明的P4或奔騰4是指( D )A、產品型號B、主頻C、微機名稱D、微處理器型號32、以平均無故障時間(MTBF)&#xff0c;用于描述計算機的( A )A、可靠性B、可維護性C、性能價格比D、以上答案都不對33、以平均修復時間(MTTR)&#xff0c;用于描述計算機的…

雙曲函數奇偶性_基本初等函數之奇偶性(強基系列42)

基本初等函數之奇偶性(強基系列4-2)開卷有益初等函數是由冪函數(power function)、指數函數(exponential function)、對數函數(logarithmic function)、三角函數(trigonometric function)、反三角函數(inverse trigonometric function)與常數經過有限次的有理運算(加、減、乘、…

Caused by: Parent package is not defined: json-default - [unknown location]

原文連接&#xff1a;http://blog.csdn.net/bebested/article/details/52627890 ------------------------------------------------------------------------------------------- Unable to load configuration. - [unknown location] at com.opensymphony.xwork2.config.Co…

【window】git安裝教程

相關鏈接&#xff1a;https://blog.csdn.net/nly19900820/article/details/73379854 作者&#xff1a;smile.轉角 QQ&#xff1a;493177502轉載于:https://www.cnblogs.com/websmile/p/9384060.html

html文件打開系統錯誤,win7打開word提示“無法打開文件Normal因為內容有錯誤”的兩種解決方法...

win7系統打開Word的時候&#xff0c;彈出提示“無法打開文件Normal.dotm,因為內容有錯誤”&#xff0c;為什么會出現錯誤提示呢&#xff1f;小編就按照錯誤提示尋找文件&#xff0c;最后發現是Word自動生成的模板Normal出錯了&#xff0c;知道故障原因后&#xff0c;接下去教程…

超鏈接跳轉到action使用哪個方法_管道疏通劑哪個牌子好 管道疏通機使用方法有哪些...

平時大家不用的水或者一些物品&#xff0c;在處理的時候應該都會倒到下水道之中&#xff0c;而下水道確實具備著這一種效果&#xff0c;但很多時候&#xff0c;下水道往往會因為口比較小&#xff0c;而被一些物品所堵塞&#xff0c;這樣一來&#xff0c;影響上其實會非常大&…

linux學習-將seafile啟動腳本設置為開機啟動服務

有時候&#xff0c;我們安裝的linux軟件和程序不是通過yum安裝&#xff0c;而是通過編譯或者其他方式安裝。有時需要將程序設置為服務&#xff0c;達到開機啟動的目的。我在公有云的與服務器上搭建了seafile網盤&#xff0c;當我重啟云服務器的時候&#xff0c;seafile的程序不…

物理借助傳感器用計算機測速度,用打點計時器測速度教案_物理_教學設計_人教版...

第四節、實驗&#xff1a;用打點計時器測速度西安中學&#xff1a;張衛崗郵編&#xff1a;710021【教材版本】人民教育出版社【設計理念】實驗是物理學習的基礎&#xff0c;通過自主探究、問題研究&#xff0c;結合速度概念的科學認識&#xff0c;體驗科學研究與生活實際的聯系…

Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlFmtTLV

原因&#xff1a; 1、缺包。如缺 standard-1.1.2.jar servlet-api-2.4.jar jstl-1.1.2.jar 2、包重復。最可能是 servlet-api-2.4.jar jsp-api-2.0.jar 與Tomcat lib 下的沖突。刪掉 web-inf/lib下的

中文整合包_案例 | 美研市場營銷和整合營銷專業1620Fall 580+申請實例(含MS+PHD)...

關注“留學壹周刊”&#xff0c;回復專業名稱&#xff0c;如“金融”&#xff0c;可以自由查詢相關資料介紹本篇微信主要包括如下內容&#xff1a;580美研市場營銷和整合營銷專業16-20Fall申請實例&#xff0c;包括6個文件&#xff1a;1、MS項目申請實例2、PHD項目申請實例3、成…

關于HttpClient上傳中文亂碼的解決辦法

使用過HttpClient的人都知道可以通過addTextBody方法來添加要上傳的文本信息&#xff0c;但是&#xff0c;如果要上傳中文的話&#xff0c;或還有中文名稱的文件會出現亂碼的問題&#xff0c;解決辦法其實很簡單&#xff1a; 第一步&#xff1a;設置MultipartEntityBuilder的編…

寫在開頭

今年項目組任務超量完成&#xff0c;到過年都可以輕松了。 今年開發了一個基于dubbo的分布式系統&#xff0c;高并發&#xff0c;大數據&#xff0c;數據分析建模。目前熱門的都用上了。 近期決定把我2013年時一個單體應用架構的項目改造成基于dubbo的分布式系統。 該項目是…

學計算機的讓修電腦搞笑段子精選,搞笑段子:阿姨,我是真的就來給他們修電腦的!...

搞笑段子&#xff1a;阿姨&#xff0c;我是真的就來給他們修電腦的修電腦在上大學的時間&#xff0c;經常用修電腦的名號進入到女生宿舍之中&#xff0c;當時的宿管阿姨人特別好&#xff0c;稍微的問一下就讓我進去了。有一天&#xff0c;我剛要進去的時間&#xff0c;她拉著我…

react table里跳轉頁面_react路由配置基礎篇:react-router4.0及以上

隨著react路由組件的不斷升級&#xff0c;react-router4以下的版本和4以上的版本配置還是有一定的區別&#xff0c;這里就不累贅陳述了&#xff0c;筆者分享下使用react-router4.0以上版本的經驗。1、安裝react-router-domnpm install react-router-dom --save2、基本配置&…