以redis为例,连数据库、连mq操作也一样
步骤 1: 添加Jasypt依赖
在Maven项目的pom.xml中添加如下依赖:
xml
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version> <!-- 版本自己挑 -->
</dependency>
步骤 2: 加密Redis密码
创建个配置类,设置一下加密信息,这里我使用 PooledPBEStringEncryptor类演示:
java
@Bean(name = "jasyptStringEncryptor")
public StringEncryptor getStringEncryptor() {
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword("woshimiyao"); // 配置秘钥
config.setPoolSize("1");
encryptor.setConfig(config);
System.out.println("加密后:" + encryptor.encrypt("redismima"));
return encryptor;
}
步骤 3: 在Redis配置中使用加密密码
假如上面控制台输出的结果是:encryptedRedisPwd
然后,在你的Spring Boot应用的配置文件中,像这样配置Redis,使用ENC()包裹加密后的密码:
yml
spring:
redis:
host: localhost
port: 6379
password: ENC(encryptedRedisPwd)
步骤 4: 启动Spring Boot应用
重点:Spring Boot应用启动时,Jasypt的自动配置会自动检测并解密配置中使用ENC()标记的值,因此你不需要在代码中手动解密Redis密码。
注意:加密密钥(上面的config.setPassword())的安全至关重要,不要将其暴露在不安全的环境中。