第一步:pom文件加入依赖
如图:
这里提供一个版本,
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
第二步:生成密钥
找到你本地maven仓库的jasypt的jar包,在该目录下打开cmd命令窗口,如图:
执行
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI input="ab123456" password=test algorithm=PBEWithMD5AndDES
input:明文密码
password为你的私钥
algorithm这个是一个规则,切勿更改!!!
执行后如图:
简单解释一下,这里的OUTPUT就是加密之后的密文(密码)
第三步:springboot配置文件中添加配置
如图:
application.properties文件写成这样:jasypt.encryptor.password=test。
说明:上图第一个password对应第二步中ARGUEMENTS中的password,第二个password对应第二步中OUTPUT中的结果,形式一定要加上ENC(you password),如图所示。
第四步:通过命令解密密码
执行命令
java -cp jasypt-1.9.2.jar org.jasypt.intf.cli.JasyptPBEStringDecryptionCLI input="Zt2/3g6RoM/FWFVGa8CQBrbnk+BRSQLE" password=test algorithm=PBEWithMD5AndDES
另外也可以自己写个工具类:
import org.jasypt.util.text.BasicTextEncryptor;
import org.jasypt.util.text.StrongTextEncryptor;
public class EncypterTest {
public static void main(String[] args) {
// 加密
BasicTextEncryptor textEncryptor = new BasicTextEncryptor();
textEncryptor.setPassword("password");
String newPassword = textEncryptor.encrypt("123456");
System.out.println(newPassword);
// 解密
BasicTextEncryptor textEncryptor2 = new BasicTextEncryptor();
textEncryptor2.setPassword("password");
String oldPassword = textEncryptor2.decrypt(newPassword);
System.out.println(oldPassword);
System.out.println("--------------------------");
}
}