SrpingDruid数据源加密数据库密码】的更多相关文章

前言 在工作中遇到这样一个问题:开发过程中将数据库的账号.密码等信息配置在了一个单独的properties配置文件中(使用明文).但运维人员要求在配置文件中的密码一律不得出现明文. 环境 Spring 4.2.6.RELEASE MyBatis 3.4.1 Druid 1.0.14 改造思路 一般spring容器启动时,通过PropertyPlaceholderConfigurer类读取jdbc.properties文件里的数据库配置信息.通过这个原理,我们把加密后的数据库配置信息放到jdbc.…
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…
首先我们得下载一个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进行加密*…
开发中,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…
<!-- 配置dbcp数据源 --> <bean id="remoteDS" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- 使用的JDBC驱动的完整有效的java 类名 --> <property name="driverClassName" value="${remo…
注意: 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…
一.为什么要使用jasypt库? 目前springboot单体应用项目中,甚至没有使用外部配置中心的多服务的微服务架构的项目,开发/测试/生产环境中的密码往往是明文配置在yml或properties文件中, 这样就会导致密码泄露的安全隐患,被不法人员利用从而泄露公司数据信息 因此,jasypt库能通过密码加密减少明文密码泄露的风险: 二.什么是jasypt库? 参考:http://www.jasypt.org/index.html    Jasypt是一个Java库,允许开发人员以最小的努力将基…
ref:https://blog.csdn.net/paul123456789io/article/details/53081921 MySQL数据库用户密码跟其它数据库用户密码一样,在应用系统代码中都是以明文出现的,在获取文件读取权限后即可直接从数据库连接文件中读取,例如asp代码中的conn.asp数据库连接文件,在该文件中一般都包含有数据库类型,物理位置,用户名和密码等信息:而在MYSQL中即使获取了某一个用户的数据库用户(root用户除外)的密码,也仅仅只能操作某一个用户的数据库中的数据…