【已解决】使用jasypt的jar对文本加密的时候,提示java.security.NoSuchAlgorithmException错误怎么解决

  • 作者: 凯哥Java(公众号:凯哥Java)
  • 工作小总结
  • 时间:2023-08-10 11:26
  • 2482人已阅读
简介 场景:在使用jasypt对文本进行加密的时候,凯哥采用的是jar加密方式。cd到jasypt的1.9.3目录下cd ~/.m2/repository/org/jasypt/jasypt/1.9.3执行下面命令:java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI&

🔔🔔🔔好消息!好消息!🔔🔔🔔

有需要的朋友👉:联系凯哥 微信号 kaigejava2022

场景:

在使用jasypt对文本进行加密的时候,凯哥采用的是jar加密方式。

cd到jasypt的1.9.3目录下

cd ~/.m2/repository/org/jasypt/jasypt/1.9.3

执行下面命令:

java -cp jasypt-1.9.3.jar org.jasypt.intf.cli.JasyptPBEStringEncryptionCLI password=G0CvDz7oJn6kaigejava algorithm=PBEWithMD5AndDES input=kaigejava

出现下面错误:

1bf31ae2092b2bffd9e3c786ad7b46c0.png

经排查 SecretKeyFactory 的类定义在 jre/lib/jce.jar内,推断是JDK版本不同导致


比对Windows版JDK 和 Linux版JDK,发现Linux版比Windows版 缺少某些包,进一步定位到 jre/lib/ext/sunjce_provider.jar解决方案:

步骤1:将 Windows 中的sunjce_provider.jar 拷贝到 Linux JDK相应位置

步骤2:环境变量 CLASSPATH 追加 jre/lib/ext/sunjce_provider.jar

CLASSPATH = .:/usr/local/java/jdk1.8.0_251/jre/lib/ext/sunjce_provider.jar


TopTop