相關工具版本如下:
Spring Boot 2.1.11.RELEASE
Gradle 4.8
1、在build.gradle導入Jar
implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:1.18'
2、在application.properties配置鹽值
jasypt.encryptor.password=yanzhi
3、使用測試類進行對字符串"nihao"加密
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = HtmlFsApplication.class)
public class JasyptTest {
@Autowired
private StringEncryptor encryptor;
@Test
public void testJasypt(){
System.out.println("加密 = " + encryptor.encrypt("nihao"));
}
}
測試結果:
4、對上面的字符串進行解密
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes = HtmlFsApplication.class)
public class JasyptTest {
@Autowired
private StringEncryptor encryptor;
@Test
public void testJasypt(){
System.out.println("加密 = " + encryptor.encrypt("nihao"));
System.out.println("解密 = " + encryptor.decrypt("boGqVtoLsxpmU3hhcHpLYQ=="));
}
}
測試結果:
5、注意
jasypt多用於對配置文件進行加密,只需要對明文的主機/賬戶/密碼進行加密,然後拿着加密後的結果寫在配置文件,如下:
程序運行時會自動解析。
另外,對同一字符串每次執行加密後的結果不一樣!!!但是隻要鹽值不變,對任意加密結果解密都是一個!!!