基於Druid資料庫連線池的資料來源配置,資料庫連線密碼加密解密
阿新 • • 發佈:2018-12-15
Druid的資料庫連線池配置。
<!-- 基於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>
jdbc.properties
## url
jdbc.url=jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=utf-8
## username
jdbc.username=root
## password 123456
jdbc.password=Biyu5YzU+6sxDRbmWEa3B2uUcImzDo0BuXjTlL505+/pTb+/0Oqd3ou1R6J8+9Fy3CYrM18nBDqf6wAaPgUGOg==
Druid資料庫連線密碼加密、解密。
import com.alibaba.druid.filter.config.ConfigTools; public class TestDruid { public static void main(String[] args) throws Exception { String password = "123456"; //加密,密文 String pass = ConfigTools.encrypt(password); System.out.println(pass); //解密,明文 String text = ConfigTools.decrypt(pass); System.out.println(text); } }
執行druid-0.2.23.jar ConfigTools.java類中的main方法,RSA加密明文123456,生成資料庫連線密文。
java -cp druid-0.2.23.jar com.alibaba.druid.filter.config.ConfigTools 123456