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

 

posted @ 2025-04-14 08:45  都是城市惹的祸  阅读(10)  评论(0)    收藏  举报