Springboot 整合 jasypt 实现配置文件敏感信息加密,详细步骤
文章目录
- 一、jasypt 加密介绍
- 二、springboot 集成步骤
- 2.1、使用 jasypt -spring-boot-starter
- 2.2、启动类添加注解
- 2.3、配置文件
- 三、测试步骤
- 3.1、添加加密后的属性配置
- 3.2、添加测试解析类
一、jasypt 加密介绍
为什么要使用 jasypt 加密 ?
在我们在配置中配置敏感信息的时候 , 要是被不友好的人看见了,就容易产生风险。这个时候就 需要把敏感信息加密。
通过使用 Jasypt,我们可以为属性文件属性提供加密,我们的应用程序将完成解密并检索原始值
二、springboot 集成步骤
2.1、使用 jasypt -spring-boot-starter
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>2.1.0</version>
</dependency>
2.2、启动类添加注解
@EnableEncryptableProperties
2.3、配置文件
将加密后的配置信息使用ENC函数,添加到配置文件中,应用启动加载配置文件时,会自动解密。
Jasypt默认算法为PBEWithMD5AndDES,该算法需要一个加密密钥,可以在应用启动时指定(环境变量)。也可以直接写入配置文件,安全性稍差。
properties 版
jasypt.encryptor.password=password
yml 版
jasypt:encryptor:password: password
加密函数 :
public static void main(String[] args) {// 创建加密对象,默认 PBEWithMD5AndDESBasicTextEncryptor textEncryptor = new BasicTextEncryptor();// 加密所需的密钥textEncryptor.setPassword("password");// 加密后String encData = textEncryptor.encrypt("pwd1234567");// 解密后String decData = textEncryptor.decrypt(encData);System.out.println("前: " + encData);System.out.println("后: " + decData);}
三、测试步骤
3.1、添加加密后的属性配置
properties 版
jasypt.encryptor.password=password
encrypted.property=ENC(+X3q/euRZAGs0m6Tibq0YnmIdRemQnXo)
yml 版
jasypt:encryptor:password: passwordencrypted:property: ENC(+X3q/euRZAGs0m6Tibq0YnmIdRemQnXo)
3.2、添加测试解析类
@Service
public class PropertyServiceForJasyptService {@Value("${encrypted.property}")private String property;public String getProperty() {return property;}public String getPasswordForENT(Environment environment) {return environment.getProperty("encrypted.property");}
}
@RunWith(SpringRunner.class)
@SpringBootTest
public class JasyptSimpleTest {@AutowiredPropertyServiceForJasyptService service;@AutowiredEnvironment environment;@Testpublic void getFromService() {System.out.println("service.getProperty() = " + service.getProperty());System.out.println("service = " + service.getPasswordForENT(environment));}
}
Springboot 整合 jasypt 实现配置文件敏感信息加密,详细步骤相关推荐
- 对spring boot yml配置文件敏感信息加密处理的两种方式
目录 方式一:手动配置加密处理(手动配置分三种情况) 方式二:spring boot整合Jasypt实现yml配置文件敏感信息加密 yml配置文件敏感信息无非就是数据库密码,redis密码,以及整合的 ...
- springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题
springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题 参考文章: (1)springboot集成swagger2多模块中文配 ...
- SpringBoot打包部署成Windows服务的详细步骤
SpringBoot打包部署成Windows服务的详细步骤 1.SpringBoot 1.1 pom.xml 1.2 项目代码 1.2.1 项目结构 1.2.2 Controller的代码 1.2.3 ...
- SpringBoot配置文件敏感信息加密,springboot配置文件数据库密码加密jasypt
使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性就比较低一些.打开application.properties或application.yml,比如mysq ...
- Spring Boot2 集成 jasypt 3.0.4 配置文件敏感信息加密
文章目录 1. 导入依赖 2. yml中添加配置文件 3. 加解密工具类 4. 敏感信息替换 5. 编译打包 6. 启动项目 1. 导入依赖 <!--敏感信息加密--><depend ...
- 携程 Apollo 配置中心 | 学习笔记(七) | 如何将配置文件敏感信息加密?
携程 Apollo 配置中心 | 学习笔记(一) Apollo配置中心简单介绍 携程 Apollo 配置中心 | 学习笔记(二) Windows 系统搭建基于携程Apollo配置中心单机模式 携程 A ...
- SpringBoot整合阿里云短信服务详细过程(保证初学者也能实现)
前言 网上关于实操性的文章普遍大部分都记录不全,要么只记录重点部分,对于刚学习的小伙伴来说看起来是比较困难的 所以,基于这一点. 该文章会详细介绍使用SpringBoot整合阿里云短信服务的每一步过程 ...
- springboot配置jasypt实现对配置文件敏感信息加密全流程详解
1.引入依赖 <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>ja ...
- spring-boot项目使用ulisesbocchio对配置文件敏感信息加密
参考文献github官网地址:https://github.com/ulisesbocchio/jasypt-spring-boot 1.添加依赖: maven: <dependency> ...
最新文章
- 国内最牛逼的笔记,不接受反驳!!
- 软工第二次练习——团队展示
- 【ArcGIS风暴】ArcGIS生成GlobeLand30土地利用数据集中国区域行列号shp格式对照图(附shp下载)
- 罪人我举起酒杯的飞鸽传书
- 有监督学习问题的分类:回归问题和分类问题
- php 设置多个html条件_PHP-FPM是个啥
- 递归神经网络(Recursive Neural Network, RNN)
- 在python 中is和= = 的区别
- 陀螺传感器的原始数据
- 2-1个人小程序注册
- 山东高中学业水平考试时间2020计算机,2020年山东省高中学业水平等级考试报名时间及科目...
- 解决 Windows USB 鼠标键盘断连掉线的问题 和 安全删除硬件并弹出媒体图标 没有弹出移动硬盘的选项
- SQL语句基础-子查询
- 现60岁,一次性缴纳60万养老金,一个月领取4000元,你愿意吗
- 【el-dialog + video】控制视频弹框的显示与隐藏
- 这5个灵感网站,设计师都在逛
- 3.额外器件-光场相机
- 一周技术思考(第36期)-缓存踩踏与惊群效应
- EXPLORATION BY RANDOM NETWORK DISTILLATION (RND)
- 51单片机八人抢答器c语言,抢答器 - 基于51单片机 - 8人有程序较完整.doc
热门文章
- 词典小程序#python
- android电话遥控 android盒子,Android机顶盒 adb命令模拟遥控器操做
- 为什么说Android开发一定要有身处安乐之窝,却逢乱世之感的觉悟?
- File.createNewFile和 File.createTempFile比较和区别
- HyperLPR 对图片和视频中车牌的识别
- CXA测试软件怎么显示拉线图,拉线眉笔怎么拉线图解教你三个画眉技巧
- 2022世界5G大会值得关注 中兴通讯主题演讲令我印象深刻
- 基于FMC的Kintex XCKU060高性能PCIe载板 XCKU060板卡 AD采集板卡
- 常用安全设置 iftop查看当前流量 CC攻击防
- M2芯片首发,苹果MacBook Air是否值得买