SpringBoot使用Jasypt对配置文件加密、数据库密码加密_jasypt对springboot配置文件加密的使用
在Spring Boot项目中使用Jasypt对属性文件中的数据库密码进行加密,可以通过以下步骤实现:
- 添加Jasypt Spring Boot Starter依赖到项目的
pom.xml
中:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
- 在Spring Boot项目的
application.properties
或application.yml
中配置Jasypt的主密码:
jasypt.encryptor.password=secretKey
- 使用Jasypt的加密功能对数据库密码进行加密:
import org.jasypt.util.text.BasicTextEncryptor;
public class JasyptEncryptor {
public static void main(String[] args) {
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
textEncryptor.setPassword("secretKey");
String encryptedPassword = textEncryptor.encrypt("myDbPassword");
System.out.println("Encrypted DB password: " + encryptedPassword);
}
}
- 将加密后的密码替换原有的数据库密码,并在配置文件中引用加密后的属性:
spring.datasource.password=ENC(加密后的密码)
- 在启动Spring Boot应用时,Jasypt会使用配置的主密码
secretKey
来解密spring.datasource.password
中的内容。
注意:
- 主密码(
jasypt.encryptor.password
的值)应该安全存储,不应该公开或硬编码在配置文件中。 - 加密的属性需要以
ENC(
开头,并以)
结束。 - 确保Jasypt的版本与Spring Boot Starter兼容。
评论已关闭