Spring Boot对配置文件参数进行加密解密
在Spring Boot中,你可以使用jasypt
库来对配置文件中的参数进行加密和解密。以下是一个简单的例子:
- 添加
jasypt
依赖到你的pom.xml
:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
- 使用
jasypt
提供的工具类进行加密,这通常在应用程序之外完成,例如在命令行:
java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="mypassword" password=encryption_key algorithm=PBEWithMD5AndDES
- 将加密的字符串放入你的
application.properties
文件:
my.secret.password=ENC(加密后的字符串)
- 在Spring Boot应用程序中,使用
@Value
注解获取解密的属性:
import org.jasypt.encryption.StringEncryptor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class MyBean {
@Value("${my.secret.password}")
private String decryptedPassword;
// 使用decryptedPassword
}
确保提供的encryption_key
与用于加密属性的密钥相匹配。jasypt
会在启动时自动使用这个密钥来解密配置文件中的加密字符串。
评论已关闭