springboot 在配置文件中对敏感信息加密

发布时间 2023-11-27 09:33:53作者: 柠檬薄荷糖
  1. pom文件引入
    2.1.0 版本对应springboot 2.1.4 release
<dependency>
    <groupId>com.github.ulisesbocchio</groupId>
    <artifactId>jasypt-spring-boot-starter</artifactId>
    <version>2.1.0</version>
</dependency>
  1. 配置文件新增
jasypt:
  encryptor:
    // 加密盐不能直接显示在这里,开发环境可用,生产环境要删除
    password: HIUEBufiuh^bjbkabl
  1. 写一个测试类提前将加密数据加密

    @Autowired
    StringEncryptor encryptor;
    @Test
    void contextLoads() {
        String username = encryptor.encrypt("root");
        System.out.println(username);
        String password = encryptor.encrypt("root");
        System.out.println(password);
    }
    
  2. 将控制台打印出来加密后的数据替换配置文件需要加密的地方

spring:
  datasource:
    druid:
     url:-----------------
      username:ENC(aeawij2IH*G3pn2in-OJ)
      password:ENC(UI38hou32*jqg3iupiuP)
  1. jar运行
    java -jar -Djasypt.encryptor.password=你的加密盐HIUEBufiuh^bjbkabl XXX-xxxx.jar