美文网首页SSM+shiro等
Durid加密、解密数据库配置信息

Durid加密、解密数据库配置信息

作者: 晴天灬 | 来源:发表于2016-04-19 18:26 被阅读878次

       在现在这个网络发达的环境下,安全问题让很多公司都头疼。许多项目中的数据库的连接配置文件都选择了相应的加密方式去加密。

       今天为大家介绍Durid方法对数据库连接信息加密以及解密。

step1:(加密)

从网上down一个jar包:druid-1.0.4.jar

cmd命令行执行以下命令:

java -cp druid-1.0.4.jar com.alibaba.druid.filter.config.ConfigTools 用户名or密码

对用户名或者密码加密

step2:解密

applicationContext.xml中数据库连接的配置

<bean id="dataSource" class="com.sunyard.audit.util.DecryptDruidSource" init-method="init" destroy-method="close">

<!-- 基本属性 url、user、password -->

<property name="driverClassName"  value="${Driver_Name}" />

<property name="url" value="${URL}" />

<property name="username" value="${UserName}" />

<property name="password" value="${Password}" />

<!-- 数据库密码加密,以下两行配置必需 -->

<property name="filters" value="config" />

<property name="connectionProperties" value="config.decrypt=true" />

<!-- 以上两行加密 -->

</bean>

step3:(config.proerties中)

jdbc_driverClassName=com.mysql.jdbc.Driver

jdbc_url=jdbc:mysql://*.*.*.*:3306/lube_dev?connectTimeout=1000&socketTimeout=12000&useUnicode=true&characterEncoding=utf-8

jdbc_username=加密后的用户名

jdbc_password=加密后的密码

step4:(继承方法):阿里这边默认是对密码解密的,所以这边只需要对用户名解密,如果url加密,以此类推

/**

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

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

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

*/

@SuppressWarnings("all")

public class DecryptDruidSource extends DruidDataSource{

@Override

public void setUsername(String username) {

try {

username = ConfigTools.decrypt(username);

} catch (Exception e) {

e.printStackTrace();

}

super.setUsername(username);

}

}

ps:如果你将上面的封装起来,可以用下面的方法直接调用

项目中应用到username和password的时候需要解密

Properties prop = new Properties();

prop.load(AuditInitServlet.class.getClassLoader().getResourceAsStream("config.properties"));

UserName=ConfigTools.decrypt(prop.getProperty("UserName"));

Password=ConfigTools.decrypt(prop.getProperty("Password"));

相关文章

  • Durid加密、解密数据库配置信息

    在现在这个网络发达的环境下,安全问题让很多公司都头疼。许多项目中的数据库的连接配置文件都选择了相应的加密方式...

  • 使用DES对关键配置信息加密

    编写类 将生成的密文替代需要加密的关键配置(此处是加密数据库账号密码) 添加配置类 将数据库的配置信息注释,并添加...

  • Druid推荐配置

    Durid 和SpringBoot整合配置

  • SQLit加密解密

    sqlit数据库 当前数据库的加密解密 一般是两种方式 加密数据库存储的内容。 加密数据库本身。sqlit 本身是...

  • TLS 如何保证网络通讯安全

    加密基础知识 非对称加密:使用一对公私钥能够加密解密信息。例如使用私钥作为密钥加密信息,可以通过公钥解密,反之亦然...

  • iOS中的签名机制

    说到签名机制,首先要了解一下加密解密,签名文件就是加密解密的过程。 加密解密 加密是将明文信息改变为难以读取的密文...

  • SQLCipher加解密的操作

    1. 创建加密数据库 2. 打开加密数据库 3. 修改数据库密码 4. 加密已有的数据库 5. 解密数据库 参考资...

  • 登录密码校验

    RAS加密 生成公、私钥 公钥给前端,用来加密密码 私钥存储在服务端,用来解密密码 数据库加密存储 解密通过后,通...

  • maven项目实现properties文件加密

    最近项目里要求把配置文件的信息做一下打包加密,运行时解密,具体实现如下 由于之前项目配置用了autoconfig,...

  • Mybatis数据库字段加解密2-使用typeAlias实现

    系列文章 Mybatis数据库字段加解密1-使用mysql自带加密方法 Mybatis数据库字段加解密2-使用ty...

网友评论

    本文标题:Durid加密、解密数据库配置信息

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