您的位置:首页 > 产品设计 > UI/UE

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

2017-12-29 17:24 411 查看
使用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中,添加此行代码
[/code]
如图  
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:对应的数据库密码)

回车,
生成一大堆东西:[/code]
 




如图

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中,如图




 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 加密 密码