Jasypt 与 Spring Boot 集成文档
目录
简介
Jasypt 是一个简单易用的 Java 加密库,支持与 Spring Boot 无缝集成。通过 Jasypt,可以轻松加密和解密 Spring Boot 配置文件中的敏感信息(如数据库密码、API 密钥等),从而提高应用的安全性。
版本说明
支持版本
- JDK 版本:JDK 1.8 及以上。
- Spring Boot 版本:Spring Boot 2.x(推荐 2.5.6 及以上)。
- Jasypt 版本:
jasypt-spring-boot-starter
3.x(推荐 3.0.5 及以上)。
版本区间建议
组件 | 推荐版本 | 备注 |
---|---|---|
JDK | 1.8 或 11 | JDK 1.8 是主流选择,JDK 11 支持长期维护。 |
Spring Boot | 2.5.6 - 2.7.x | Spring Boot 2.x 是稳定版本。 |
Jasypt | 3.0.5 | 最新稳定版本,兼容 Spring Boot 2.x。 |
快速开始
添加依赖
在 Spring Boot 项目中,添加 jasypt-spring-boot-starter
依赖:
Maven
在 pom.xml
中添加以下依赖:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
Gradle
在 build.gradle
中添加以下依赖:
implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5'
配置加密密钥
Jasypt 需要一个加密密钥来加密和解密数据。密钥可以通过以下方式配置:
1. 在 application.yml
中配置(这个写在数据库配置的上面)
jasypt:
encryptor:
# 盐值
password: vilasto
# 指定加密方式
algorithm: PBEWithSHA1AndRC2_40
iv-generator-classname: org.jasypt.iv.NoIvGenerator
property:
# 标识为加密属性的前缀
prefix: ENC(
# 标识为加密属性的后缀
suffix: )
加密配置文件
1. 加密敏感数据
使用 Jasypt 提供的工具加密敏感数据。以下是一个示例:
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.EnvironmentPBEConfig;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class JasyptUtil</