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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

使用durid的ConfigFilter对数据库密码加密

發布時間:2025/3/11 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用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文件中讀取配置操作,大家可以試試看!


總結

以上是生活随笔為你收集整理的使用durid的ConfigFilter对数据库密码加密的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。