1.maven依賴
<dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>2.1.1</version> </dependency>
2.配置application.yml
jasypt: encryptor: password: CSEbfabcctulv73I2dsssI50JMXoaxZTKJ7
3.測試類,生成密文以及解密
public class JasyptTest {
/**
* 加密方法
*/
@Test
public void testEncrypt() {
StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
EnvironmentPBEConfig config = new EnvironmentPBEConfig();
// 加密的算法,這個算法是默認的
config.setAlgorithm("PBEWithMD5AndDES");
//加密的密鑰,自定義
config.setPassword("CSEbfabcctulv73I2dsssI50JMXoaxZTKJ7");
standardPBEStringEncryptor.setConfig(config);
String encryptedText = standardPBEStringEncryptor.encrypt("root");
String plainText = standardPBEStringEncryptor.decrypt(encryptedText);
Assert.assertEquals("root", plainText);
}
/**
* 解密方法
*/
@Test
public void testDecrypt() {
StandardPBEStringEncryptor standardPBEStringEncryptor = new StandardPBEStringEncryptor();
EnvironmentPBEConfig config = new EnvironmentPBEConfig();
// 解密的算法,需同加密算法相同
config.setAlgorithm("PBEWithMD5AndDES");
//解密的密鑰,需同加密密鑰相同
config.setPassword("CSEbfabcctulv73I2dsssI50JMXoaxZTKJ7");
standardPBEStringEncryptor.setConfig(config);
String plainText =standardPBEStringEncryptor.decrypt("v7n0OYKp1bqYMLHFigGbMg==");
Assert.assertEquals("root", plainText);
}
}
4.在配置文件將密碼加密
spring: datasource: password: ENC(v7n0OYKp1bqYMLHFigGbMg==)