SpringBoot 之配置加密

Jasypt库的使用

Jasypt是一个Java简易加密库,用于加密配置文件中的敏感信息,如数据库密码。
Jasypt库与springboot集成,在实际开发中非常方便。

1、引入依赖

<dependency>
    <groupId>com.github.ulisesbocchiogroupId>
    <artifactId>jasypt-spring-boot-starterartifactId>
    <version>3.0.5version>
dependency>

2、添加 jasypt 加密使用的密钥

jasypt:
   encryptor:
     password: G9w0BAQEFAASCBKYwgg
     property:
       prefix: "ENC@["
       suffix: "]"

password 参数是必须的,相当于 Salt(盐),以保证密码安全性。
prefix 和 suffix 是自定义的密码串标识,不配置默认为:ENC(…)。

3、加解密测试类

@Slf4j
@SpringBootTest
public class JasyptTest {
    @Autowired
    private StringEncryptor stringEncryptor;
    @Test
    public void encrypt() {
        String usernameEnc = stringEncryptor.encrypt("root");
        log.info("test username encrypt is {}", usernameEnc);
        log.info("test username is {}", stringEncryptor.decrypt(usernameEnc));
    }
}

3、生成的密文填充到 application 配置文件中

spring:
  username: ENC@[Itve3hPLCnDcpTF5Wfvz5Q==]

注意 ENC@[] 这个占位符是上面进行自定义配置的。

4、启动命令中配置JVM参数传入密钥
SpringBoot 之配置加密_第1张图片

java -Djasypt.encryptor.password=password -jar xx.jar

你可能感兴趣的:(#,SpringBoot,spring,boot,后端,java)