文章目录

  • 一、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 实现配置文件敏感信息加密,详细步骤相关推荐

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

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

  2. springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题

    springboot集成swagger2多模块中文配置详细步骤,解决集成mybatis或mybatis-plus无法正常使用问题 参考文章: (1)springboot集成swagger2多模块中文配 ...

  3. SpringBoot打包部署成Windows服务的详细步骤

    SpringBoot打包部署成Windows服务的详细步骤 1.SpringBoot 1.1 pom.xml 1.2 项目代码 1.2.1 项目结构 1.2.2 Controller的代码 1.2.3 ...

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

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

  5. Spring Boot2 集成 jasypt 3.0.4 配置文件敏感信息加密

    文章目录 1. 导入依赖 2. yml中添加配置文件 3. 加解密工具类 4. 敏感信息替换 5. 编译打包 6. 启动项目 1. 导入依赖 <!--敏感信息加密--><depend ...

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

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

  7. SpringBoot整合阿里云短信服务详细过程(保证初学者也能实现)

    前言 网上关于实操性的文章普遍大部分都记录不全,要么只记录重点部分,对于刚学习的小伙伴来说看起来是比较困难的 所以,基于这一点. 该文章会详细介绍使用SpringBoot整合阿里云短信服务的每一步过程 ...

  8. springboot配置jasypt实现对配置文件敏感信息加密全流程详解

    1.引入依赖 <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>ja ...

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

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

最新文章

  1. 国内最牛逼的笔记,不接受反驳!!
  2. 软工第二次练习——团队展示
  3. 【ArcGIS风暴】ArcGIS生成GlobeLand30土地利用数据集中国区域行列号shp格式对照图(附shp下载)
  4. 罪人我举起酒杯的飞鸽传书
  5. 有监督学习问题的分类:回归问题和分类问题
  6. php 设置多个html条件_PHP-FPM是个啥
  7. 递归神经网络(Recursive Neural Network, RNN)
  8. 在python 中is和= = 的区别
  9. 陀螺传感器的原始数据
  10. 2-1个人小程序注册
  11. 山东高中学业水平考试时间2020计算机,2020年山东省高中学业水平等级考试报名时间及科目...
  12. 解决 Windows USB 鼠标键盘断连掉线的问题 和 安全删除硬件并弹出媒体图标 没有弹出移动硬盘的选项
  13. SQL语句基础-子查询
  14. 现60岁,一次性缴纳60万养老金,一个月领取4000元,你愿意吗
  15. 【el-dialog + video】控制视频弹框的显示与隐藏
  16. 这5个灵感网站,设计师都在逛
  17. 3.额外器件-光场相机
  18. 一周技术思考(第36期)-缓存踩踏与惊群效应
  19. EXPLORATION BY RANDOM NETWORK DISTILLATION (RND)
  20. 51单片机八人抢答器c语言,抢答器 - 基于51单片机 - 8人有程序较完整.doc

热门文章

  1. 词典小程序#python
  2. android电话遥控 android盒子,Android机顶盒 adb命令模拟遥控器操做
  3. 为什么说Android开发一定要有身处安乐之窝,却逢乱世之感的觉悟?
  4. File.createNewFile和 File.createTempFile比较和区别
  5. HyperLPR 对图片和视频中车牌的识别
  6. CXA测试软件怎么显示拉线图,拉线眉笔怎么拉线图解教你三个画眉技巧
  7. 2022世界5G大会值得关注 中兴通讯主题演讲令我印象深刻
  8. 基于FMC的Kintex XCKU060高性能PCIe载板 XCKU060板卡 AD采集板卡
  9. 常用安全设置 iftop查看当前流量 CC攻击防
  10. M2芯片首发,苹果MacBook Air是否值得买