Java配置文件數據庫密碼加密 阿里druid數據源配置及數據庫密碼加密

阿里druid數據源配置及數據庫密碼加密

 

 

注意:

1、阿里默認只對用戶密碼解密
2、druid 1.0.16版本及以上的解密時需要同時配置publicKey

一.生成密文密碼

1 前提:已經配置了jdk環境

1、生成密文密碼需要準備druid的jar包.然後通過命令行生成,如下步驟:

1.1準備jar包

1、(示例使用 druid-0.2.23.jar),放到某目錄下,且打開命令窗口(win用戶可以在目錄的空白處 shift+鼠標右鍵 打開命令窗口);

1.2.輸入命令:

java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools you_password

我要加密的密碼是:123456pwd

注意:druid 1.0.16之前

java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools 123456pwd  

注意:druid 1.0.16及以後

java -cp druid-1.1.9.jar com.alibaba.druid.filter.config.ConfigTools 123456pwd >aaa.txt 

 

 

二、dataSource配置 注意:druid 1.0.16之前

1.1jdbc.properties

## JDBC set
jdbc.url=jdbc\:mysql\://localhost\:3306/edu_demo?useUnicode\=true&characterEncoding\=utf-8
jdbc.username=root
jdbc.password=Obsbr4gd1oVyYr+k4KQdUMNYgKMWdDibsNJTabnph+yPmxjc6tUrT1GNsPDqa9ZvTF9QvaRD86H+Zn/H+yz2jA\=\=

1.2dataSource配置

複製代碼
<!-- 基於Druid數據庫鏈接池的數據源配置 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
    <!-- 基本屬性driverClassName、 url、user、password -->
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <!-- 配置初始化大小、最小、最大 -->
    <!-- 通常來說,只需要修改initialSize、minIdle、maxActive -->
    <property name="initialSize" value="2" />
    <property name="minIdle" value="2" />
    <property name="maxActive" value="30" />
    <property name="testWhileIdle" value="false" />
    <!-- 配置獲取連接等待超時的時間 -->
    <property name="maxWait" value="5000" />
    <!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
    <property name="minEvictableIdleTimeMillis" value="30000" />
    <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒 -->
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
    <!-- 解密密碼必須要配置的項 -->
    <property name="filters" value="config" />
    <property name="connectionProperties" value="config.decrypt=true" />
</bean>
複製代碼

注意:druid 1.0.16及以後

2.1jdbc.properties

 

## JDBC set
jdbc.url=jdbc\:mysql\://localhost\:3306/edu_demo?useUnicode\=true&characterEncoding\=utf-8
jdbc.username=root
jdbc.password=Obsbr4gd1oVyYr+k4KQdUMNYgKMWdDibsNJTabnph+yPmxjc6tUrT1GNsPDqa9ZvTF9QvaRD86H+Zn/H+yz2jA\=\=
jdbc.publickey = MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKHGwq7q2RmwuRgKxBypQHw0mYu4BQZ3eMsTrdK8E6igRcxsobUC7uT0SoxIjl1WveWniCASejoQtn/BY6hVKWsCAwEAAQ==

2.2dataSource配置

複製代碼
<!-- 基於Druid數據庫鏈接池的數據源配置 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
    <!-- 基本屬性driverClassName、 url、user、password -->
    <property name="driverClassName" value="com.mysql.jdbc.Driver" />
    <property name="url" value="${jdbc.url}" />
    <property name="username" value="${jdbc.username}" />
    <property name="password" value="${jdbc.password}" />
    <!-- 解密密碼必須要配置的項 -->
    <property name="filters" value="config" />
    <property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${jdbc.publickey}" />
    <!-- 配置初始化大小、最小、最大 -->
    <!-- 通常來說,只需要修改initialSize、minIdle、maxActive -->
    <property name="initialSize" value="2" />
    <property name="minIdle" value="2" />
    <property name="maxActive" value="30" />
    <property name="testWhileIdle" value="false" />
    <!-- 配置獲取連接等待超時的時間 -->
    <property name="maxWait" value="5000" />
    <!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
    <property name="minEvictableIdleTimeMillis" value="30000" />
    <!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連接,單位是毫秒 -->
    <property name="timeBetweenEvictionRunsMillis" value="60000" />
</bean>
複製代碼

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章