Druid实现数据库连接用户密码加密
来源:互联网 发布:江西日报网 软件 编辑:程序博客网 时间:2024/04/29 04:16
jar包版本:druid-1.0.13.jar
1. 加密,用以下命令将用户名和密码加密
cmd命令行执行 java -cp D:/druid-1.0.13.jar com.alibaba.druid.filter.config.ConfigTools 用户名/密码
得到密文:
f0PSl0Lzxh6CxzuFIdEg+wVx045fSE2VtUP45G9HH2cjVQnmGGgcK5CLzNUJoR6tGwRO44h74OxrBWuDzWC8jg==
2.用户名解密:
ackage com.heli.core.user.common;import com.alibaba.druid.filter.config.ConfigTools;import com.alibaba.druid.pool.DruidDataSource;/*** 用来解密配置中的密文(重点配置,在这里扩展用户名的解密)* setUsername(name) 方法对应xml中的一个property属性,password默认加密不需要重写,* 还可以加密url 重写setUrl(url) */@SuppressWarnings("all")public class DecryptDruidSource extends DruidDataSource{@Overridepublic void setUsername(String username) {try {username = ConfigTools.decrypt(username);} catch (Exception e) {e.printStackTrace();}super.setUsername(username);}}
3.spring-database.xml中数据库连接的配置
<bean id="dataSource" class="com.heli.core.user.common.DecryptDruidSource"><property name="driverClassName" value="${driver}" /><property name="url" value="${url}" /><property name="username" value="${username}" /><property name="password" value="${password}" /> <!-- config.decrypt=true --> <property name="filters" value="config" /> <property name="connectionProperties" value="config.decrypt=true" /> <!-- 初始化连接大小 --><property name="initialSize" value="${initialSize}" /><!-- 连接池最大使用连接数量 --><property name="maxActive" value="${maxActive}" /><!-- 连接池最大空闲 这个参数已经被弃用 <property name="maxIdle" value="${maxIdle}"></property> --><!-- 连接池最小空闲 --><property name="minIdle" value="${minIdle}"></property><!-- 获取连接最大等待时间 --><property name="maxWait" value="${maxWait}"></property> <property name="validationQuery" value="${validationQuery}" /> <property name="testWhileIdle" value="${testWhileIdle}" /> <property name="testOnBorrow" value="${testOnBorrow}" /> <property name="testOnReturn" value="${testOnReturn}" /> <!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --> <property name="timeBetweenEvictionRunsMillis" value="${timeBetweenEvictionRunsMillis}" /> <!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --> <property name="minEvictableIdleTimeMillis" value="${minEvictableIdleTimeMillis}" /> <!-- 关闭长时间不使用的连接 --> <!-- 打开removeAbandoned功能 --> <property name="removeAbandoned" value="${removeAbandoned}" /> <!-- 1200秒,也就是20分钟 --> <property name="removeAbandonedTimeout" value="${removeAbandonedTimeout}" /> <!-- 关闭abanded连接时输出错误日志 --> <property name="logAbandoned" value="${logAbandoned}" /></bean>
4.数据库配置文件:
3.user.properties中#mysqlusername=f0PSl0Lzxh6CxzuFIdEg+wVx045fSE2VtUP45G9HH2cjVQnmGGgcK5CLzNUJoR6tGwRO44h74OxrBWuDzWC8jg==password=f0PSl0Lzxh6CxzuFIdEg+wVx045fSE2VtUP45G9HH2cjVQnmGGgcK5CLzNUJoR6tGwRO44h74OxrBWuDzWC8jg==url=jdbc:mysql://192.168.1.194/user?characterEncoding=utf-8driver=com.mysql.jdbc.DriverinitialSize=5minIdle=5maxActive=20maxWait=60000timeBetweenEvictionRunsMillis=60000minEvictableIdleTimeMillis=30000validationQuery=SELECT 1testWhileIdle=truetestOnBorrow=truetestOnReturn=truefilters=stat,log4jremoveAbandoned=trueremoveAbandonedTimeout=1200logAbandoned=true
转载于:https://my.oschina.net/ydsakyclguozi/blog/511997?fromerr=XKumd6eO
https://github.com/alibaba/druid/wiki/使用ConfigFilter
0 0
- Druid实现数据库连接用户密码加密
- Druid实现数据库连接用户密码加密
- Druid实现数据库连接用户密码加密
- 使用Druid生成加密密码,实现mysql数据库连接用户密码加密解密
- Druid 数据库用户密码加密 代码实现
- Druid 数据库用户密码加密 代码实现
- druid对数据库连接进行加密
- 通过给Tomcat打Monkey Patch实现数据库连接池配置用户密码加密
- MD5 JAVA用户密码加密实现
- MD5 JAVA用户密码加密实现
- Druid 数据库连接
- Spring实现加密数据库连接
- 使用Druid数据库连接池,配置ConfigFilter对数据库密码加密
- Spring+mysql+druid对数据库连接的用户名密码加密
- druid 监听用户密码管理
- druid加密
- java中实现 MD5加密算法加密用户密码
- Maximo加密解密用户密码的实现
- UVA 10891 Game of Sum 博弈DP -
- 三星闪存芯片命名规律
- 单例模式二
- 编码剖析@Resource注解的实现原理
- JSONObject和JSONArray总结,个人理解
- Druid实现数据库连接用户密码加密
- 计算出前一期间中物料 70004017 的期末结算
- 一个基于tensorflow的finetune整体流程代码
- EF生成的实体类.序列化循环引用的解决方法
- 并查集
- 怎么解决win7系统残影问题
- resin 4 start problem
- iOS你应该知道的一些东西
- Cesium ArcGisMapServerImageryProvider