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

RuoYi前后端分离框架集成Jasypt实现配置信息加密

一、背景

项目采用RuoYi前后端分离框架搭建,版本为3.8.9。在项目中,关键配置信息(如数据库密码、API密钥等)通常以明文形式存储在配置文件中,存在安全风险。公司要求关键配置信息不能随意泄露,为保障系统安全性,需对这些敏感信息进行加密处理,确保即使配置文件泄露,攻击者也无法直接获取原始数据。

二、Jasypt

jasypt-spring-boot-starter 是Spring Boot生态中用于敏感配置加密的核心工具库,基于Jasypt(Java Simplified Encryption)实现。它通过简单注解和配置,实现对application.propertiesapplication.yml中密码、API密钥等敏感信息的加密存储,运行时自动解密。典型应用场景包括数据库连接加密、云服务凭证保护等,有效提升配置安全性。因此,本人就采用这个轮子进行系统配置信息加密。

三、与RuoYi框架集成

Jasypt的使用,可以直接参照官方文档,由于本项目的基座也是springboot,因此直接采用官方提供的jasypt-spring-boot-starter是最简单方便的,版本直接使用官方最新的。

1.引入maven依赖

在若依后端pom父工程中引入如下依赖进行版本管理:

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

在具体的使用模块中引入依赖,本项目是在framework模块中使用的。

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

2.采用工具对选定配置生成密文

可以采用Jasypt官方工具生成密文,也可以直接编写工具类实现指定配置信息加密,本人采用的是后。工具类中EnvironmentStringPBEConfig配置的加密算法需要与项目采用的加密算法一致,不一致在运行项目时会解密失败导致启动失败,该工具类中的算法以及加密密匙key等均可以通过运行参数进行指定,如图:

相关文章:

  • C语言创意编程:用趣味实例玩转基础语法(2)
  • Redis工作原理解析
  • 学者观察 | Web3.0的技术革新与挑战——北京理工大学教授沈蒙
  • BERT和GPT语言模型的核心差异
  • How API Gateways handle raw TCP packets
  • 【深度学习-Day 18】从SGD到Adam:深度学习优化器进阶指南与实战选择
  • CentOS 7.0重置root密码
  • 【Marp】自定义主题 - box01
  • 【第1章 基础知识】1.2 Canvas 的绘图环境
  • iPaaS集成平台如何赋能智能体搭建
  • 【递归、搜索与回溯算法】专题一 递归
  • 创意编程:用Python打造粒子爱心烟花秀
  • JavaScript面试题之箭头函数详解
  • 使用 CHB Renamer 高效批量重命名文件扩展名
  • 【NLP基础知识系列课程-Tokenizer的前世今生第二课】NLP 中的 Tokenizer 技术发展史
  • go tour泛型
  • 【力扣】面试题 01.04. 回文排列
  • 误差反向传播法
  • Linux中的常用命令
  • Linux 6.15 内核发布,新功能
  • 联通物联网服务运营平台/seo外链工具下载
  • 连云港网站建设案例/网站优化技术
  • 模板网站如何做seo/网站外包公司有哪些
  • 重庆住房城乡建设委员会官方网站/中国职业培训在线平台
  • 宁波公司网站建设定制服务/seo云优化外包
  • 广东肇庆今日确诊病例/武汉seo关键字推广