最近比较流行使用阿里巴巴druid的链接池
连接池这里有数据库密码加密的功能
在连接池配置中使用
<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${key}" />
config.decrypt=true,表示密码通过加密
config.decrypt.key=${key} ,密码加密的key值,如果没有设置key值此参数忽略
以下是加密解密的使用
//设置密码
String password = "12345";
String[] arr = com.alibaba.druid.filter.config.ConfigTools.genKeyPair(512);
//获得
System.out.println("私有key值:" + arr[0]);
System.out.println("公共key值:" + arr[1]);
String pwd =com.alibaba.druid.filter.config.ConfigTools.encrypt(arr[0], password);
System.out.println("加密后密码:" + pwd);
//获得解码密码
com.alibaba.druid.filter.config.ConfigTools.decrypt(arr[1], pwd);
//非key值加密
String pwd =com.alibaba.druid.filter.config.ConfigTools.encrypt("12345");
System.out.println(pwd);
//解密
System.out.println( com.alibaba.druid.filter.config.ConfigTools.decrypt(pwd));