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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容