Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。
Jasypt库与springboot集成,在实际开发中非常方便。
1、引入依赖
<dependency>
<groupId>com.github.ulisesbocchiogroupId>
<artifactId>jasypt-spring-boot-starterartifactId>
<version>3.0.5version>
dependency>
2、添加 jasypt 加密使用的密钥
jasypt:
encryptor:
password: G9w0BAQEFAASCBKYwgg
property:
prefix: "ENC@["
suffix: "]"
password 参数是必须的,相当于 Salt(盐),以保证密码安全性。
prefix 和 suffix 是自定义的密码串标识,不配置默认为:ENC(…)。
3、加解密测试类
@Slf4j
@SpringBootTest
public class JasyptTest {
@Autowired
private StringEncryptor stringEncryptor;
@Test
public void encrypt() {
String usernameEnc = stringEncryptor.encrypt("root");
log.info("test username encrypt is {}", usernameEnc);
log.info("test username is {}", stringEncryptor.decrypt(usernameEnc));
}
}
3、生成的密文填充到 application 配置文件中
spring:
username: ENC@[Itve3hPLCnDcpTF5Wfvz5Q==]
注意 ENC@[] 这个占位符是上面进行自定义配置的。
4、启动命令中配置JVM参数传入密钥
java -Djasypt.encryptor.password=password -jar xx.jar