Jasypt加解密

Spring Boot Jasypt配置加密解密

结果将显示在这里
功能介绍
Jasypt Spring Boot 配置加密在线工具。支持新版 PBEWITHHMACSHA512ANDAES_256(推荐,安全性最强)和老版 PBEWithMD5AndDES 等兼容算法。 加密结果直接以 ENC(xxx) 格式输出,粘贴到 application.yml 即可生效,无需改 Java 代码。 密钥即配置项 jasypt.encryptor.password 的值,请妥善保管,切勿提交到 Git 仓库。
三步集成到 Spring Boot

第一步:Maven 引入依赖

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

第二步:application.yml 配置密钥和算法

jasypt:
  encryptor:
    password: ${JASYPT_PASSWORD:change-me}
    algorithm: PBEWITHHMACSHA512ANDAES_256
    iv-generator-classname: org.jasypt.iv.RandomIvGenerator

第三步:加密敏感配置项

spring:
  datasource:
    password: ENC(这里粘加密后的密文)
  mail:
    password: ENC(这里粘加密后的密文)
安全最佳实践

✅ 密钥通过环境变量注入:export JASYPT_PASSWORD=your-secret-key,不写死在 yml 中。

✅ 使用新版算法:PBEWITHHMACSHA512ANDAES_256 安全性远高于老版 DES。

❌ 禁止硬编码密钥:密钥写死并提交 Git 等于没加密。

❌ 禁止老版算法:PBEWithMD5AndDES 已不安全。

使用说明
  • 本工具使用 Jasypt 官方库实现,与 Spring Boot jasypt-spring-boot-starter 完全兼容。
  • 加密结果默认以 ENC(...) 形式输出,可直接粘贴到 application.yml 中。
  • 解密时输入的密文可带或不带 ENC() 包裹,工具会自动识别。
  • 密钥即配置项 jasypt.encryptor.password 的值,请妥善保管。