1.数据库配置文件添加配置 <property name="filter" value="config"> <property name="connectionProperties" value="config.decrypt=true"/> 2.使用druid.jar 命令生成密码加密串 Java -cp druid.jar com.alibaba.druid.filter.config.Config…
前言 在工作中遇到这样一个问题:开发过程中将数据库的账号.密码等信息配置在了一个单独的properties配置文件中(使用明文).但运维人员要求在配置文件中的密码一律不得出现明文. 环境 Spring 4.2.6.RELEASE MyBatis 3.4.1 Druid 1.0.14 改造思路 一般spring容器启动时,通过PropertyPlaceholderConfigurer类读取jdbc.properties文件里的数据库配置信息.通过这个原理,我们把加密后的数据库配置信息放到jdbc.…
首先我们得下载一个druid-1.0.16.jar的包 其次键入命令 java -cp druid-1.0.16.jar com.alibaba.druid.filter.config.ConfigTools your_password 这时候会生成privatekey,publickey,以及password,相关的截图如下 注意1:如果使用的不是druid-1.0.16.jar可能只会生成一个password. 注意2:如果没配置好,可能会报一大推奇奇怪怪的错误,比如:org.springf…
package com.lxc.wmb; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import sun.misc.BASE64Encoder; @SuppressWarnings("restriction") public class MD5 { /**利用MD5进行加密*…
<!-- 配置dbcp数据源 --> <bean id="remoteDS" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- 使用的JDBC驱动的完整有效的java 类名 --> <property name="driverClassName" value="${remo…
开发中,druid数据源对数据库密码进行了加密,每次切换数据库或者修改密码后,感觉很麻烦. 解决办法: 1.用工具类中的Java代码进行加解密. 需要用到com.alibaba.druid.filter.config.ConfigTools类中的encrypt方法进行加密,用decrypt方法进行解密. 2.在spring的DataSource配置文件中修改数据库连接为明文. 只需要在DataSource节点中,找到  name = “filters”  和 name = “connection…
项目主要采用:SpringMVC4.3.2.RELEASE +Spring4.3.2.RELEASE + Maven 3.3.3 + druid 1.0.29 + Mybatis 3.2.8 + Mysql 5.1.21 + Jquery 1.7.2 + JSP 开发工具如下:IDEA 2016 利用druid对数据库密码进行加密: 参考文章:https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter ConfigFi…
注意: 1.阿里默认只对用户密码解密 2.druid 1.0.16版本及以上的解密时需要同时配置publicKey 一.生成密文密码 1 前提:已经配置了jdk环境 1.生成密文密码需要准备druid的jar包.然后通过命令行生成,如下步骤: 1.1准备jar包 1.(示例使用 druid-0.2.23.jar),放到某目录下,且打开命令窗口(win用户可以在目录的空白处 shift+鼠标右键 打开命令窗口); 1.2.输入命令: java -cp druid-0.2.23.jar com.al…
背景: 在对已有项目搭建本地环境,修改了本地ip端口和数据库帐号密码(使用了明文). 然后项目一直跑不起来,还抛出各种异常,经过分析发现主要错在这里:druid java.lang.IllegalArgumentException: Failed to decrypt. 解密失败?哪里要解密?想了一下,原来的这么长的密码是密文,现在被我改成了这么短的明文. 解决方案: 1.不使用密文 将数据库配置中的<property name = "filters" value = "…
因为我的工程需要在两个数据库中操作数据,所以要配置两个数据库,我这里没有数据源没有什么主从之分,只是配合多数据源必须要指定一个主数据源,所以我就把 操作相对要对的那个数据库设置为主数据(dataBase1 库)源 数据源配置 ###################本地应用配置################# spring:   application:     name: test   datasource:     url:       dataBase1: jdbc:mysql://192…