Java Springboot之Jasypt配置文件加解密
一、pom添加jasypt引用
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
二、配置文件
# Jasypt 加密配置 jasypt.encryptor.password=mySecretPassword jasypt.encryptor.algorithm=PBEWITHHMACSHA512ANDAES_256 jasypt.encryptor.property.provider-name=SunJCE
或者写在启动文件里
java -cp jasypt/jasypt.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="myDatabasePassword" password=mySecretPassword algorithm=PBEWITHHMACSHA512ANDAES_256
三、加密的配置项
# 加密后的数据库密码
spring.datasource.password=ENC(加密后的字符串)
四、访问加密后的属性
@Value("${spring.datasource.password}")
private String dbPassword;
五、+++ 自定义加密函数 +++
1、自定义解密函数
public class MyStringEncryptor implements StringEncryptor { @Override public String encrypt(String message) { // 不用处理 } @Override public String decrypt(String encryptedMessage) { // 自定义解密函数 } }
2、在配置文件中指定解密函数
jasypt:
encryptor:
# 指定加解密在spring ioc容器中bean的名称,默认 jasyptStringEncryptor
bean: myStringEncryptor
有些事情,没经历过不知道原理,没失败过不明白奥妙,没痛苦过不了解真谛。临渊羡鱼,不如退而结网!

浙公网安备 33010602011771号