【问题标题】:How to solve the NoSuchAlgorithmException in java?如何解决java中的NoSuchAlgorithmException?
【发布时间】:2012-09-25 06:18:21
【问题描述】:

我正在尝试使用 RSA 算法解密数据。在进行解密时,我遇到了一个异常。即,

java.security.NoSuchAlgorithmException: Cannot find any provider supporting RSA/ECB/PKCS5Padding
        at javax.crypto.Cipher.getInstance(DashoA13*..)

如何解决这个异常?目前,我使用的是java version "1.6.0_26"

【问题讨论】:

  • 你能发布一个你的代码示例吗?
  • 问题出在您复制的答案的 cmets 中。您应该始终阅读 cmets,因为有人努力提供更多信息。
  • 我完全同意@GregS :)

标签: java exception encryption rsa


【解决方案1】:

这是一个错字。带有 PKCS #1 v1.5 填充的 RSA 的正确名称是“RSA/ECB/PKCS1Padding”。 通常,与可用算法列表进行比较是个好主意。 例如。 this question 包含一些打印此类列表的方法。

(当然,使用 OAEP 而不是 v1.5 填充会更好,尤其是如果您的 main 字段不是密码学)。

【讨论】:

    【解决方案2】:

    该错误意味着您使用的库无法解密数据,因为 Lib 中没有解密 RSA 的算法。 您可以使用像 Bouncy Calste 或 GNU Crypto 这样的库来使用 RSA 解密数据。网上有很多关于如何做到这一点的示例。

    【讨论】:

      猜你喜欢
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多