1. Jasypt 简介
Jasypt 是 Java 平台的简化加密工具,支持对文本和数据进行加密和解密,尤其适合应用于 Spring Boot 项目的配置文件加密。其主要特点包括:
- 简单易用的 API
- 支持对属性文件内容加密
- 支持常见的加密算法
- 与 Spring Boot 的无缝集成
2. 在 Spring Boot 中集成 Jasypt
2.1 添加 Jasypt 依赖
在 pom.xml 文件中添加 Jasypt 依赖:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
如果使用的是 Gradle,则添加如下依赖:
implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.4'
2.2 配置加密密钥
为了加密和解密数据,Jasypt 需要一个密钥(secret key)。你可以将这个密钥配置在 Spring Boot 的 application.properties 或 application.yml 文件中:
application.properties配置:jasypt.encryptor.password=mysecretkeyapplication.yml配置:
jasypt:
encryptor:
password: mysecretkey
注意:
mysecretkey是你用于加密和解密的密钥,请确保密钥的安全性,避免公开泄露。可以通过环境变量或其他安全手段来管理该密钥。
2.3 加密敏感数据
假设我们需要对数据库密码进行加密,首先,我们需要生成加密后的密码。
2.3.1 使用 Jasypt 命令行工具加密
Jasypt 提供了命令行工具来加密数据,执行以下命令加密数据库密码:
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input= password= algorithm=PBEWithMD5AndDES

