SpringBoot 、Spring结合jasypt 敏感配置加密

SpringBoot 、Spring结合jasypt 敏感配置加密

由于配置中经常会涉及到许多敏感信息,考虑安全性可以做加密处理

Spring Boot中使用 jasypt 加密参数

1.添加maven依赖


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

2. 生成加密参数

    @Autowired
    StringEncryptor encryptor;

    @Test
    public void getPass() {
        //用户名
        String name = encryptor.encrypt("root");
        //密码
        String password = encryptor.encrypt("root");
        LOGGER.info("name={}", name);
        LOGGER.info("password={}", password);
    }

输出示例

name=gf4AFiOfQ7sWWZMSPRgtOw==

password=hN2Ix9jNNt3U52AuVmL1gg==

3.配置加密参数

#加密密码
spring.datasource.username=ENC(gf4AFiOfQ7sWWZMSPRgtOw==)
spring.datasource.password=ENC(hN2Ix9jNNt3U52AuVmL1gg==)

注意:加密后的字符串需要放到ENC里面

2.Spring 中使用 jasypt 加密参数

1. 添加maven依赖

      
            org.jasypt
            jasypt
            1.8
            compile
        
        
            org.jasypt
            jasypt-spring31
            1.9.0
            compile
        

2. 生成加密参数

public static void main(String[] args) {
    BasicTextEncryptor encryptor = new BasicTextEncryptor();
    //加密盐
    encryptor.setPassword("dev");
    //用户名
    String name = encryptor.encrypt("fshows");
    //密码
    String password = encryptor.encrypt("Fshows12#$");
    LOGGER.info("name={}", name);
    LOGGER.info("password={}", password);
 
}

3.Spring context 配置


        
        
        
        
    

    
        
    

    
        
        
            
                classpath:application-dev.properties
            
        
    

添加以上配置后

配置文件中加密了的参数会被解密出来。

4.配置加密参数

#加密密码
spring.datasource.username=ENC(gf4AFiOfQ7sWWZMSPRgtOw==)
spring.datasource.password=ENC(hN2Ix9jNNt3U52AuVmL1gg==)

注意:加密后的字符串需要放到ENC里面

你可能感兴趣的:(SpringBoot)