使用druid 数据池对连接密码加密

1、使用maven导入druid的jar包

<!-- https://mvnrepository.com/artifact/com.alibaba/druid -->

<dependency>

<groupId>com.alibaba</groupId>

<artifactId>druid</artifactId>

<version>1.0.18</version>

</dependency>

2、

修改数据库配置,在配置数据源处,添加此两行代码

如图

<!-- 开启Druid的监控统计功能 -->

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

<!-- 开启数据库密码解密-->

<property name="connectionProperties" value="config.decrypt=true;config.decrypt.key=${publickey}"
/>

3.配置文件config.properties中,添加此行代码
如图  publickey=${jdbc.mysql.publickey} 
主要作用是对应加密后的公钥。
4.修改pom.xml文件,添加此两行代码。

如图  添加  <jdbc.mysql.publickey></jdbc.mysql.publickey>
 

5.以上配置好后,使用durid的加密算法生成加密密码和公钥。

首先要找到jar包所在位置,然后shift+右键,点击 在此处打开命令窗口,然后输入:

java -cp druid-1.0.18.jar com.alibaba.druid.filter.config.ConfigTools 1234567a
(druid-1.0.18.jar:对应的jar包名称,12345678a:对应的数据库密码)
回车,生成一大堆东西:
 

如图
privateKey:MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEA3MAoIF9F/wDJneKskSBJ9VE8VFeeShJyAaHM9I7LphSDvf8xxLAv2LcP+t1LHMa/yElVDr4cyFv5azWxKOwjxwIDAQABAkEAwIpx9VpkKPk84ZM2RRbOq0QBxObvT1grTDUeGSj7g4y+ZH+I+DHnJdzHrYWWTJ2Hx3evesp+iVUy8Ni/dvkUEQIhAPGL+df7YqaiL5lSgFqNNkrnw0/8j6v4GxSkofG2jGMFAiEA6fWfyil8+aa5j+NgA0MZYWQfRRNa2jz3PTClttTV/VsCIELkFaN3TWGCBpZ6H2t0MbXaqt7qvUrNYYp88RAEEqqVAiBZ99yUr1Oh5V1iWbuoRXtTGl9z/rdnSR6CZ1yybDJGFQIgYkRZkoMq1sJ7b/Jlh4Prp7ntzzmmkpu9rogB4iE9p24=
privateKey:私钥,用于生成密文密码用,不用管
 
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBANzAKCBfRf8AyZ3irJEgSfVRPFRXnkoScgGhzPSOy6YUg73/McSwL9i3D/rdSxzGv8hJVQ6+HMhb+Ws1sSjsI8cCAwEAAQ==
publicKey:就是步骤4中publickey中的值,用于解密密码
 
password:HRDx+yN+mqk7hNAzZQ8M4wkV7hKgjE3XIAP1/gvjjwx8ZFrWmEvVfmDwQkyB3qasffxZhFrxOmUuDPIIVkFDnQ==
paasword:加密后的密码
 
将生成publicKey和password分别放入步骤4中,password2和publickey中。
配置完成。
 
备注:
1.  每次使用jar包生成加密密码时都会出现新的加密信息,但是之前生成的加密信息扔可用,所以每次只生成一次即可。
2.  将publickey和password都放在pom.xml中时,如果更改pom中配置的key时,需要重新使用maven命令clean后再打包,不然会连接失败。
3.  或者修改配置,pom中只有加密后的password,不放publickey,将公钥放入config.properties中,如图


 
 

				
时间: 2024-09-27 23:19:04

使用druid 数据池对连接密码加密的相关文章

Druid使用及开启数据库密码加密

Springboot环境下的配置 1.maven引包 1 <dependency> 2 <groupId>com.alibaba</groupId> 3 <artifactId>druid</artifactId> 4 <version>1.0.26</version> 5 </dependency> 2.创建配置类 1 package com.tqh.demo.config; 2 3 import com.a

druid 数据池使用

目 录 [ - ] Druid是什么?有什么作用? Druid的项目背景?目前的项目团队情况?开源目的? Druid支持哪些数据库? Druid是如何扩展JDBC的? 为什么说Druid是"最好的数据库连接池"?体现在哪些方面?这是如何实现的? Druid的性能如何?能否给出一些测试对比数据? 谈谈Druid的SQL解析功能?效率如何? Druid的扩展性如何? 在SQL注入防御方面,Druid的优势是什么?实现原理是什么? 目前Druid的应用(部署)情况? 我想将其中的某个模块(比

spring 加密 Druid 连接池(二)—— 加密 url,driverClassName,用户名,密码

why? 连接信息暴露在配置文件中有风险 how? 一.准备加密后连接信息 使用Druid自带工具类ConfigTools加密连接信息 import com.alibaba.druid.filter.config.ConfigTools; public class DecryptDruid { public DecryptDruid() { super(); // TODO Auto-generated constructor stub } public static void main(Str

SpringBoot整合Druid数据连接池

SpringBoot整合Druid数据连接池 Druid是什么? Druid是Alibaba开源的的数据库连接池.Druid能够提供强大的监控和扩展功能. 在哪里下载druid maven中央仓库: http://central.maven.org/maven2/com/alibaba/druid/ 怎么获取Druid的源码 Druid是一个开源项目,源码托管在github上,源代码仓库地址是 https://github.com/alibaba/druid.同时每次Druid发布正式版本和快照

Druid 数据库用户密码加密 代码实现

druid-1.0.16.jar 阿里巴巴的开源数据连接池 jar包 明文密码+私钥(privateKey)加密=加密密码 加密密码+公钥(publicKey)解密=明文密码 程序代码如下: package com.t1; import com.alibaba.druid.filter.config.ConfigTools; public class DruidTest { public static void main(String[] args) throws Exception { //密

Druid实现数据库连接密码加密

jar包版本:druid-1.0.13.jar 1. 加密,用以下命令将用户名和密码加密 cmd命令行执行 java -cp D:/druid-1.0.13.jar com.alibaba.druid.filter.config.ConfigTools 用户名/密码 得到密文: f0PSl0Lzxh6CxzuFIdEg+wVx045fSE2VtUP45G9HH2cjVQnmGGgcK5CLzNUJoR6tGwRO44h74OxrBWuDzWC8jg== 2.用户名解密: ackage com.h

关于druid数据库密码加密流程及问题

最近项目中需要在配置中将数据库密码加密,就使用了阿里的druid来实现,将流程和问题和大家分享一下. 项目使用的是Spring加jetty,原先数据库连接使用的是Apache的DBCP:commons-dbcp2-2.1.1.jar+ojdbc6.jar 配置:<New class="com.alibaba.druid.pool.DruidDataSource">            <Set name="driverClassName">

django实现密码加密的注册(数据对象插入)

在 django实现密码非加密的注册(数据对象插入)的基础上,我们对视图和注册页面进行了简单修改 视图 from django.shortcuts import render,redirect,render_to_response from django.http import HttpResponse from .models import * from hashlib import sha1 # Create your views here. def index(request): retu

Druid密码加密

pom里引用: <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.10</version> </dependency> 加密解密示例: import com.alibaba.druid.filter.config.ConfigTools; publ