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

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等均可以通过运行参数进行指定,如图:

http://www.xdnf.cn/news/9282.html

相关文章:

  • Kubernetes简介及常用命令
  • 高效大电流缓启动电路设计
  • Manus,AGI 要来临了吗?
  • 电子电路:欧姆定律和电流量子化有关系吗?
  • 深入剖析机器学习之波士顿房价案例
  • 易境通海外仓系统:如何提高仓库尾程派送环节效率?
  • 「Python教案」循环语句的使用
  • 离子风机如何保障汽车电子智造组装车间良品率
  • C语言数据存储
  • 操作系统——第四章(文件共享、保护、层级结构、系统布局..)
  • Docker+MobaXterm+x11实现容器UI界面转发本地
  • Python map()函数详解:批量数据处理的瑞士军刀
  • STM32 Keil工程搭建 (手动搭建)流程 2025年5月27日07:42:09
  • STM32之IIC(重点)和OLED屏
  • Spring Boot整合JWT实现认证与授权
  • screen开启和删除session会话
  • JSONP跨域原理全解析
  • OpenCV 图像像素的读写操作
  • SNMPv3基础概念
  • 02_MQ常见问题
  • 科研课题验收测试报告:用途与类型深度解析~
  • DFS入门刷题c++
  • 工业级UART数据转发芯片EU104 低功耗多串口芯片 1主4从多串口转发
  • 26、请求处理-【源码分析】-Rest映射及源码解析
  • 机器学习知识体系:从“找规律”到“做决策”的全过程解析
  • 走进黑盒:SQL 是如何在数据库中执行的?
  • Linux基础命令掌握-cut命令
  • 0527漏洞原理:SQL注入笔记
  • CSRF和XSS攻击防御指南
  • 院校机试刷题第十三天:代码随想录算法训练营第七天