博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
application.properties数据库敏感信息加密这么简单?
阅读量:4318 次
发布时间:2019-06-06

本文共 2648 字,大约阅读时间需要 8 分钟。

目录

@(终于等到你)

写在前面

俗话说:”顾客是上帝“,身为程序员的我有时会直接对接客户方提出的需求,毕竟我处在提供服务的一方,所以我也会尽量的满足临时的要求。前些天就有了一个满足漏洞检测的需求,想要把数据库的明文敏感信息加密,其实也就是密码加密,所以也就有了这篇文章,我的项目是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=truespring.datasource.username=rootspring.datasource.password=rootspring.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=truespring.datasource.username=rootspring.datasource.password=ENC(TU1NovjRHGyjp7cSc6v0sQ==)spring.datasource.driver-class-name=com.mysql.jdbc.Driver

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

转载于:https://www.cnblogs.com/charmsongo/p/10048273.html

你可能感兴趣的文章
实验吧-web-Guess Next Session(session简介)
查看>>
C语言i++和++i的区别和指针*(a++)和*(++a)的区别
查看>>
在一个CommandField中为删除按钮设置OnClientClick属性
查看>>
Linux常用命令-1
查看>>
(一)Java工程化--Maven基础
查看>>
Linux磁盘空间爆满,MySQL无法启动
查看>>
Inception搭建
查看>>
设置联想键盘恢复F1~F12默认按键的操作办法
查看>>
Python编程之sqlite3数据库
查看>>
CROS+node-basis+ajax
查看>>
SetWindowLong函数
查看>>
What's New in Core Data in iOS 7
查看>>
个人编程作业2
查看>>
magento首页标题的修改
查看>>
刚刚拿到驾照?交警告诉你新手必知的10个行车好习惯
查看>>
linux 操作 mysql 指定端口登录 以及启动 停止
查看>>
Python多进程multiprocessing使用示例
查看>>
小学数学题大礼包
查看>>
分众模式下的学员管理
查看>>
Linux安装Solr
查看>>