美文网首页工作生活
Druid数据库连接池 实现数据库账号密码加密

Druid数据库连接池 实现数据库账号密码加密

作者: 零点145 | 来源:发表于2019-07-02 14:42 被阅读0次

jar包版本:druid-1.0.15.jar

1. 加密,用以下命令将用户名和密码加密

cmd命令行执行

java-cpdruid-1.0.15.jarcom.alibaba.druid.filter.config.ConfigTools加密串

得到密文

2.用户名解密:

packagecom.heli.core.user.common;importcom.alibaba.druid.filter.config.ConfigTools;importcom.alibaba.druid.pool.DruidDataSource;/**

* 用来解密配置中的密文(重点配置,在这里扩展用户名的解密)

* setUsername(name) 方法对应xml中的一个property属性,password默认加密不需要重写,

* 还可以加密url 重写setUrl(url)

*/@SuppressWarnings("all")publicclassDecryptDruidSourceextendsDruidDataSource{@OverridepublicvoidsetUsername(String username){try{        username = ConfigTools.decrypt(username);    }catch(Exception e) {        e.printStackTrace();    }super.setUsername(username);        }}

3.spring-database.xml中数据库连接的配置

<!-- config.decrypt=true --><!-- 初始化连接大小 --><!-- 连接池最大使用连接数量 --><!-- 连接池最大空闲 这个参数已经被弃用 <property name="maxIdle" value="${maxIdle}"></property> --><!-- 连接池最小空闲 --><!-- 获取连接最大等待时间 --><!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 --><!-- 配置一个连接在池中最小生存的时间,单位是毫秒 --><!-- 关闭长时间不使用的连接 --><!-- 打开removeAbandoned功能 --><!-- 1200秒,也就是20分钟 --><!-- 关闭abanded连接时输出错误日志 -->

4.数据库配置文件:

#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=SELECT1testWhileIdle=truetestOnBorrow=truetestOnReturn=truefilters=stat,log4jremoveAbandoned=trueremoveAbandonedTimeout=1200logAbandoned=true

相关文章

网友评论

    本文标题:Druid数据库连接池 实现数据库账号密码加密

    本文链接:https://www.haomeiwen.com/subject/ylizcctx.html