Spring Boot下整合Jasypt對配置檔案進行加密
阿新 • • 發佈:2018-12-17
由於日趨緊張的程式碼安全問題,更多的專案需要進行簡單的加密措施。包括對資料庫連線資訊,redis連線資訊等。
本文就講解一下怎麼使用Jasypt進行簡單的配置檔案加密。
一、在maven裡新增Jasypt的依賴。
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency>
此處新增的Jasypt的version為2.0.0低於該版本的話可能會造成異常。
二、選擇自己的PASSWORD(金鑰)
jasypt:
encryptor:
password: HelloWorld
對於金鑰的選取大可按照自己的意思來但也不要過於簡單,此處為了方便演示直接寫在了配置檔案之中。當然真正的專案當中是不能這麼幹的,不然其他的配置屬性加密了但是你的金鑰赤裸裸的放在這裡那可就真的是愚不可及了。
所以面對這樣的情況我們還有的辦法就是啟動專案的時候指定金鑰:
java -Djasypt.encryptor.password=HelloWorld -jar xxx.jar
三、將配置檔案中的賬號密碼進行加密
此處需要到我們編寫個簡單的test來獲取加密之後的資訊:
@Test
public void encryptTest() {
String result = stringEncryptor.encrypt("testHelloWorkd");
System.out.println(result);
}
出現了問題?別忘了寫Autowired。
@Autowired
StringEncryptor stringEncryptor;
假設執行後出現的密文為:xxxxxxxxxxxxx,然後將這個輸出的結果放置到配置檔案中即可,此處需要新增到ENC()中。
username: test
password: ENC(xxxxxxxxxxxxxx)
除了密碼之後賬戶之類的資訊只要你喜歡都可以進行加密。