maven 打包数据库加密_application.properties数据库敏感信息加密这么简单?

写在前面

俗话说:”顾客是上帝“,身为程序员的我有时会直接对接客户方提出的需求,毕竟我处在提供服务的一方,所以我也会尽量的满足临时的要求。前些天就有了一个满足漏洞检测的需求,想要把数据库的明文敏感信息加密,其实也就是密码加密,所以也就有了这篇文章,我的项目是springboot结构,修改其实也挺简单,废话少说,上代码。

这里使用的是 jasypt,而它是一个java实现的安全框架

1.Maven的pom.xml依赖

com.github.ulisesbocchio

jasypt-spring-boot-starter

1.8

2.通过测试类验证加密加密

测试类如下

import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;

import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig;

/**

* Created By charmsongo 21:04 2018/11/30

*/

public class CryptorTest {

/**

* 加密方法

* @param plainText 需加密文本

*/

public static void testEncrypt(String plainText) {

StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();

EnvironmentPBEConfig config = new EnvironmentPBEConfig();

// 加密的算法,这个算法是默认的

config.setAlgorithm("PBEWithMD5AndDES");

//加密的密钥,自定义

config.setPassword("CSEbfYkitulv73I2p0mXI50JMXoaxZTKJ7");

standardPBEStringEncryptor.setConfig(config);

String encryptedText = standardPBEStringEncryptor.encrypt(plainText);

System.out.println(encryptedText);

}

/**

* 解密方法

* @param encryptedText 需解密文本

*/

public static void testDecrypt(String encryptedText) {

StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();

EnvironmentPBEConfig config = new EnvironmentPBEConfig();

// 解密的算法,需同加密算法相同

config.setAlgorithm("PBEWithMD5AndDES");

//解密的密钥,需同加密密钥相同

config.setPassword("CSEbfYkitulv73I2p0mXI50JMXoaxZTKJ7");

standardPBEStringEncryptor.setConfig(config);

String plainText = standardPBEStringEncryptor.decrypt(encryptedText);

System.out.println(plainText);

}

public static void main(String[] args){

testEncrypt("root");

testDecrypt("TU1NovjRHGyjp7cSc6v0sQ==");

}

}

运行main方法结果如下

TU1NovjRHGyjp7cSc6v0sQ==

root

3.application.properties中配置修改

##mysql-----修改前配置

spring.datasource.url=jdbc:mysql://192.168.2.105/mysql?characterEncoding=utf8&useSSL=true

spring.datasource.username=root

spring.datasource.password=root

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

##mysql-----修后前配置

jasypt.encryptor.password=CSEbfYkitulv73I2p0mXI50JMXoaxZTKJ7#引入密钥

spring.datasource.url=jdbc:mysql://192.168.2.105/mysql?characterEncoding=utf8&useSSL=true

spring.datasource.username=root

spring.datasource.password=ENC(TU1NovjRHGyjp7cSc6v0sQ==)

spring.datasource.driver-class-name=com.mysql.jdbc.Driver

使用 jasypt 加密数据库敏感信息的任务现在就可以交工了,但是看完您会发现,这样也不是特别安全的,确实。。。所以您有什么更好的加密方法欢迎留言

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值