springboot 資料庫配置檔案加密過程
阿新 • • 發佈:2018-12-17
用於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所示配置加密的,但是可以呼叫相關的工具類方法解密,如步驟三測試所示
最後推薦阿波羅配置中心統一管理