添加依赖:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
加密
java -cp C:/Users/Administrator/.m2/repository/org/jasypt/jasypt/1.9.2/jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="123456" password=qwer*1234* algorithm=PBEWithMD5AndDES
加密
java -cp D:\AZ\maven\apache-maven-3.8.2\repository\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="sanyjbz888" password=qwersalt algorithm=PBEWithMD5AndDES
解密
java -cp D:\AZ\maven\apache-maven-3.8.2\repository\org\jasypt\jasypt\1.9.3\jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="x00NrCIFkDDPOtRPnl8b1eUmJ4nWoxuj" password=qwersalt algorithm=PBEWithMD5AndDES
加密于解密:
package deyi.com.revise.passwordLearning;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
/**
* @Author liudy23
* @create 2022/1/14 15:25
*/
public class jsyptPassword {
private static final String PBEWITHMD5ANDDES = "PBEWithMD5AndDES";
private static final String PBEWITHHMACSHA512ANDAES_256 = "PBEWITHHMACSHA512ANDAES_256";
public static SimpleStringPBEConfig encryJsypt(String password){
//加解密配置
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(password);
config.setAlgorithm(PBEWITHMD5ANDDES);
config.setKeyObtentionIterations("1000");
config.setPoolSize("1");
config.setProviderName("SunJCE");
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
config.setStringOutputType("base64");
return config;
}
public static String encryptPassword(String password, String value){
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
SimpleStringPBEConfig config = encryJsypt(password);
encryptor.setConfig(config);
String resutl_encrypt = encryptor.encrypt(value);
return resutl_encrypt;
}
public static String decryptPassword(String password, String value){
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
SimpleStringPBEConfig config = encryJsypt(password);
encryptor.setConfig(config);
String result_decrypt = encryptor.decrypt(value);
return result_decrypt;
}
public static void main(String[] args) {
String s = encryptPassword("salt", "root");
System.out.println("root加密后:" + s);
String salt = decryptPassword("salt", "7FdtEKilfqNkZqss7+sElA==");
System.out.println("root解密后:" + salt);
}
}