springboot配置文件加密过程

用于application.properties数据库密码加密或者其他配置文件内容加密

 

1.导入jar包



   com.github.ulisesbocchio
   jasypt-spring-boot-starter
   1.18

2.  加盐同时修改application.properties文件的内容

jasypt.encryptor.password=字符串
spring.datasource.username=ENC(wzh7/OmPLACqPQ8VbpGZg==)
spring.datasource.password=ENC(PSRNekVu7LIvylnb94hKrq/vBpUly4Ys/7LBy3QT4o=)
CODE.PUSH.PASSWORD=ENC(ctrvELiLRlfM1aDH0OTzA==)
 

3. 编写测试类


@SpringBootTest
@RunWith(SpringRunner.class)
public class aa {

    @Autowired
    StringEncryptor encryptor;

    @Value("${CODE.PUSH.PASSWORD}")
    private  String bb;

    @Test
    public void encry(){
// 加密
        String username = encryptor.encrypt("admin");
        String pwd = encryptor.encrypt("123456");
        System.out.println("userName:" + username);
        System.out.println("pwd:" + pwd);
//解密
        String codeName =ConfigUtil.getCodeValue("CODE_PUSH_ACCOOUNT");//获取任意配置的工具类
        System.out.println("codeName:" + codeName);
        System.out.println("解密:" + bb);
        System.out.println("解密:" + encryptor.decrypt(codeName));


    }

}

 

 

 

解疑

1.application.properties里的任意配置都能直接加        ENC(加密内容) 完成加密

2.若是其他配置文件,是不能如1所示配置加密的,但是可以调用相关的工具类方法解密,如步骤三测试所示

最后推荐阿波罗配置中心统一管理

你可能感兴趣的:(springboot配置文件加密过程)