java.security.NoSuchAlgorithmException:找不到任何支持 Blowfish/ECB/PKCS5Padding 的提供商

java.security.NoSuchAlgorithmException: Cannot find any provider supporting Blowfish/ECB/PKCS5Padding

我已经从 jdk1.8.0_121(还有 jre)升级到 jdk1.8.0_131,方法是卸载旧版本并安装新版本 jdk,加密代码停止工作。

源代码:http://docs.oracle.com/javase/8/docs/technotes/guides/security/crypto/CryptoSpec.html#BlowKeyEx

日食错误:

Exception in thread "main" java.security.NoSuchAlgorithmException: Blowfish KeyGenerator not available
    at javax.crypto.KeyGenerator.<init>(KeyGenerator.java:169)
    at javax.crypto.KeyGenerator.getInstance(KeyGenerator.java:223)
    at com.encrypt_app.BlowfishKey.main(BlowfishKey.java:12)

如果 运行 没有 IDE,则工作没有任何错误。

我采取的步骤:

  1. 转到 Windows > Preferences > Installed JREs 并将目录更改为 C:\Program Files\Java\jdk1.8.0_131。确保项目的构建路径设置。

  2. 尝试重启 eclipse,清理,刷新项目。

  3. 已将 JAVA_HOME 更新为 C:\Program Files\Java\jdk1.8.0_131

-- 运行 没有 IDE 的相同代码并且有效。

  1. 使用 -clean 参数启动 eclipse(已编辑 eclipse.ini)

从构建路径中删除库并使用更新的 JRE 再次添加。