写在前面

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

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

1.Maven的pom.xml依赖

 <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>1.8</version></dependency>

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

application.properties数据库敏感信息加密这么简单?相关推荐

  1. application.properties数据库配置

    # mysql数据库连接 #加cj的原因是因为SpringBoo使用的是2.1之后的版本 spring.datasource.driver-class-name=com.mysql.cj.jdbc.D ...

  2. SpringBoot配置文件敏感信息加密,springboot配置文件数据库密码加密jasypt

    使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...

  3. redismanager 获取不到yml中的密码_SpringBoot敏感信息加密,springboot配置文件密码加密jasypt...

    使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...

  4. SpringBoot配置文件yml敏感信息加密

    java项目使用SpringBoot很方便,但SpringBoot的配置文件朋友们都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或a ...

  5. 「 jasypt-spring-boot」敏感信息加密/解密利器

    文章目录 1. 简介 2. 如何整合 3. 自定义环境 4. 工作原理 5. 加密的属性如何处理 6. 基于密码的加密配置 7. 使用自定义的加密程序 8. 自定义`Property Detector ...

  6. 携程 Apollo 配置中心 | 学习笔记(七) | 如何将配置文件敏感信息加密?

    携程 Apollo 配置中心 | 学习笔记(一) Apollo配置中心简单介绍 携程 Apollo 配置中心 | 学习笔记(二) Windows 系统搭建基于携程Apollo配置中心单机模式 携程 A ...

  7. 对spring boot yml配置文件敏感信息加密处理的两种方式

    目录 方式一:手动配置加密处理(手动配置分三种情况) 方式二:spring boot整合Jasypt实现yml配置文件敏感信息加密 yml配置文件敏感信息无非就是数据库密码,redis密码,以及整合的 ...

  8. 第二章、application.properties文件的配置

    前面讲到了如何搭建一个简单的springboot应用,是不是特别简单.springboot内置了tomcat,这就大大减少了我们自己配置tomcat所产生的各种各样的配置手续包括所出现的问题.通过ma ...

  9. spring-boot项目使用ulisesbocchio对配置文件敏感信息加密

    参考文献github官网地址:https://github.com/ulisesbocchio/jasypt-spring-boot 1.添加依赖: maven: <dependency> ...

最新文章

  1. 【时间管理】从零开始GTD——GTD原则
  2. sql array 数组基本用法(四)
  3. 如何在window上把你的项目提交到github
  4. firewall详解
  5. wine的sys文件具体位置
  6. visual studio 2005 sp1 安装错误解决
  7. java中将字符串顺序反传转_如何在Java中将字符串序列化的Erlang术语反序列化为JInterface对象?...
  8. Java数组在方法区吗,Java数组的操作方法
  9. matlab std函数_MATLAB金融工具箱:11:根据基准优化投资组合
  10. window安装python27和配置环境变量
  11. 如何基于web技术开发国产化网管软件
  12. 经典的开源免费网络游戏:planeshift
  13. 3dmax如何呈现Z频道
  14. 【电路】自用人体感应灯(HC-SR501人体感应模块)
  15. 天堂2mysql_天堂2单机版 L2J-som-rotm 安装全过程及常用工具 一步到位
  16. 获得淘宝商品详情高级版api接口
  17. 甲骨文公司将云层添加至其大型机VTL当中
  18. 淘宝4位数七段显示器模块 (74HC595)
  19. 微信小程序云开发查询数据库结果为空
  20. 我的世界、DotA IMBA常用游戏指令

热门文章

  1. windbg-内存破坏实例分析
  2. SetWindowsHookEx
  3. 1266. 访问所有点的最小时间
  4. XSS挑战之旅平台通关练习(1-20)
  5. Python__getattr__、__setattr__、__delattr__、__getitem__、__setitem__、__getattribute__方法的理解
  6. ROS(kinetic)安装中的一些问题(已解决)
  7. 7.16模块及软件开发目录规范
  8. golang——strconv包常用函数
  9. 201312-5 I’m stuck!
  10. 博文写作——摘要摘要图标