
springboot 使用 jasypt 加密解密
介绍如何在 Spring Boot 项目中使用 jasypt 对敏感配置(如数据库密码)进行加密和解密,包括依赖引入、配置文件和加密解密方法。
项目上有些配置需要加密,比如数据库的密码,jasypt 可以实现加密解密功能。
一、引入依赖
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.5</version>
</dependency>
二、配置文件
加密前
spring:
datasource:
password: 123456
加密后
spring:
datasource:
password: ENC(slZULLmbudl1M6/43iq6y8100XQ4DlqnxtToLxtUODxqlsCm02M2ujbx6ayy4j92)
三、加密
这里以 AES256 为例
// 指定算法
AES256TextEncryptor textEncryptor = new AES256TextEncryptor();
// 指定秘钥
textEncryptor.setPassword("test");
// 生成加密数据
String encrypt = textEncryptor.encrypt("123456");
System.out.println(encrypt);
// slZULLmbudl1M6/43iq6y8100XQ4DlqnxtToLxtUODxqlsCm02M2ujbx6ayy4j92
四、解密
4.1 IDE 设置
vm options 加入如下代码:
-Djasypt.encryptor.password=test

4.2 运行
java -jar -Djasypt.encryptor.password=test xxx.jar
4.3 测试类
对于需要单元测试的类,只要在类上加 @Import(EnableEncryptableProperties.class) 注解即可