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

spring boot整合Jasypt实现配置加密

文章目录

目录

文章目录

前言

一、Jasypt是什么?

二、使用步骤

1.引入

2.测试使用 

3.结果 

总结



前言


一、Jasypt是什么?

Jasypt(Java Simplified Encryption)是一个Java库,提供了一种简单的加密解密方式,可用于保护敏感数据,例如密码、API密钥和数据库连接信息等。

Jasypt 提供了多种加密算法,包括标准的对称加密算法(如 DES、TripleDES、AES)、非对称加密算法(如 RSA)以及哈希函数(如 MD5、SHA-1)。它还支持基于口令的加密,这意味着你可以使用一组简单的密码来保护你的数据,而不必担心复杂的密钥管理操作。

Jasypt 与 Spring 框架集成良好,可以轻松地将其与 Spring Boot 应用程序一起使用。它还提供了自定义实现的接口,可以与其他应用程序框架或库进行集成。

在使用 Jasypt 进行加密时,通常需要设置一个盐值,以增加加密过程的安全性。盐值是一个随机生成的字符串,将其与待加密数据结合在一起,使得同样的明文每次加密后得到的密文都不同,增加了破解的难度。

综上所述,Jasypt 是一个易于使用和配置的 Java 加密库,适用于任何需要保护敏感数据的应用程序。

二、使用步骤

1.引入

<!-- 配置文件参数加密 -->
<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>3.0.5</version>
</dependency>

2.测试使用 

启动类的添加注解

@SpringBootApplication
@EnableEncryptableProperties//开启自动解密功能
public class SpringRetryApplication {public static void main(String[] args) {SpringApplication.run(SpringRetryApplication.class, args);}}

jasypt配置类

@Configuration
public class JasyptConfig {@Bean("jasyptStringEncryptor")public StringEncryptor stringEncryptor() {StandardPBEStringEncryptor encryptor = new StandardPBEStringEncryptor();//设置加密算法encryptor.setAlgorithm("PBEWithMD5AndDES");// 设置盐值encryptor.setPassword("salt2"); return encryptor;}
}

application.properties配置

固定格式ENC()括号里面是加密后的密文 然后实现自动解密 

spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/carrent?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=ENC(mkCsYhIdnb3XWbiHyjsWGA==)

3.结果 

正常启动 spring boot 然后查询表数据正常


总结

http://www.lryc.cn/news/249464.html

相关文章:

  • java学校高校运动会报名信息管理系统springboot+jsp
  • Java(七)(Lambda表达式,正则表达式,集合(Collection,Collection的遍历方式))
  • 华为OD机试 - 二叉树计算(Java JS Python C)
  • 鸿蒙(HarmonyOS)应用开发——基础组件
  • Vue3的项目创建到启动
  • 开关电源基础而又硬核的知识
  • LightDB23.4 支持转换sql中中文空格和逗号为英文空格和逗号
  • EM@常见平面曲线的方程的不同表示方式
  • element使用小结
  • 自动驾驶DCLC 功能规范
  • LabVIEW中将SMU信号连接到PXI背板触发线
  • [蓝桥杯习题]———位运算、判断二进制1个数
  • 3DCAT为华东师大设计学院打造元宇宙数字虚拟学院
  • AIGC 3D即将爆发,混合显示成为产业数字化的生产力平台
  • 时间序列预测实战(二十一)PyTorch实现TCN卷积进行时间序列预测(专为新手编写的自研架构)
  • 探索计算机视觉:深度学习与图像识别的融合
  • 屏蔽WordPress评论中长URL地址方法
  • 【教程】 一文部署配置并入门 Redis
  • 数据被锁住了?如何应对.mkp病毒的攻击
  • 【Shell】Shell基础学习
  • python文件读取
  • 第16关 革新云计算:如何利用弹性容器与托管K8S实现极速服务POD扩缩容
  • 算法通关村第十二关|黄金挑战|最长公共前缀字符串压缩
  • 池式组件 ----- Mysql连接池的原理实现
  • 1.自动化运维工具Ansible的安装
  • [个人笔记] Apache2.4配置TLS1.3安装openssl1.1.1
  • 解密Kafka主题的分区策略:提升实时数据处理的关键
  • GPT5大剧第二季开启,Sam Altman 重掌 OpenAI CEO 大权
  • Selenium 连接到现有的 Google Chrome 示例
  • EI级 | Matlab实现TCN-BiLSTM-Multihead-Attention多头注意力机制多变量时间序列预测