当前位置: 首页 > news >正文

SpringBoot系列---【使用jasypt把配置文件密码加密】

使用jasypt把配置文件密码加密

1.引入pom坐标

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

2.新增jasypt配置

2.1使用yml配置文件进行配置

jasypt:encryptor:password: fast_boot_security

2.2使用System进行配置(适用于代码扫描比较严格的场景,把jasypt的密码放入jvm启动参数)

#在启动类中添加配置
public static void main(String[] args) {System.setProperty("jasypt.encryptor.password",System.getProperty("jasypt.publicKey"));ConfigurableApplicationContext run = SpringApplication.run(FastBootApplication.class, args);System.out.println("run = " + run);
}

在jvm启动参数中添加-D参数:"-Djasypt.publicKey=fast_boot_security"。

3.新增加解密测试类

@RestController
@Api(tags = "ypt测试工具类")
@RequestMapping("ypt")
public class YptTestController extends BaseController {@Resourceprivate StringEncryptor stringEncryptor;@ApiOperation(value = "加密")@PostMapping("/encrypt")public R<String> encrypt(String encryptStr) {return select(this.stringEncryptor.encrypt(encryptStr));}@ApiOperation(value = "解密")@GetMapping("decrypt")public R<String> decrypt(String decryptStr) {return select(this.stringEncryptor.decrypt(decryptStr));}
}

4.替换配置文件中的明文密码

spring:datasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3307/home-finance?useSSL=false&serverTimezone=UTC&characterEncoding=utf-8username: rootpassword: ENC(iKcnV0M2Ro4gEGmegC62bO2vb7y4wo955bpkFmn9mEKQSU63P1UtwvQKN+7MhJmywkrEauRDOAmc5ZKEZy+cg==)
http://www.lryc.cn/news/117895.html

相关文章:

  • 大数计算(大数加法/大数乘法)
  • 【腾讯云 Cloud Studio 实战训练营】基于Cloud Studio构建React完成点餐H5页面
  • 杭电多校 Rikka with Square Numbers 费马平方和定理
  • 跟禹神VUE——组件间的通信方式(props配置项、组件间自定义事件、全局事件总线、消息订阅与发布、VUEX)
  • 《2023年中国企业数字化转型发展白皮书》发布
  • 基于Python 简易实现接口测试自动化
  • 创建线程、线程的挂起与恢复、线程的优先级与终止线程
  • [保研/考研机试] KY180 堆栈的使用 吉林大学复试上机题 C++实现
  • 【AI理论学习】手把手推导扩散模型:Diffusion Models(DDPM)
  • 智能汽车 论坛收集
  • 24届近5年南京航空航天大学自动化考研院校分析
  • Linux Day07
  • 数字化管理,让MRO工业品更高效
  • layui中渲染table表格
  • 2023-08-10LeetCode每日一题(下降路径最小和 II)
  • 网络基础2(HTTP,HTTPS,传输层协议详解)
  • Java实现籍贯级联选择器
  • 每日一学——OSI参考模型
  • 虚幻5中Lumen提供哪些功能以及如何工作的
  • Linux C 语言 mosquitto 方式 MQTT 发布消息
  • 利用NtDuplicateObject进行Dump
  • 【快应用】list组件如何区分滑动的方向?
  • 【深入了解pytorch】PyTorch扩展:如何使用PyTorch的扩展功能
  • Vue3——如何实现页面访问拦截
  • nginx配置gzip
  • ExtJS教程_编程入门自学教程_菜鸟教程-免费教程分享
  • 【el-upload】批量上传图片时在before-upload中添加弹窗判断时的踩坑记录
  • 【Java基础】- JVM之Dump文件详解
  • 基于Vue+wangeditor实现富文本编辑
  • 深入理解 Spring 中的 @RequestBody 和 @ResponseBody 注解及其区别