1. 程式人生 > >springboot 資料庫配置檔案加密過程

springboot 資料庫配置檔案加密過程

用於application.properties資料庫密碼加密或者其他配置檔案內容加密

1.匯入jar包

<!--jdbc加密-->
<dependency>
   <groupId>com.github.ulisesbocchio</groupId>
   <artifactId>jasypt-spring-boot-starter</artifactId>
   <version>1.18</version>
</dependency>

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所示配置加密的,但是可以呼叫相關的工具類方法解密,如步驟三測試所示

最後推薦阿波羅配置中心統一管理