当前位置: 首页 > 面试题库 >

java.security.NoSuchAlgorithmException:找不到支持AES / ECB / PKCS7PADDING的任何提供程序

督翰学
2023-03-14
问题内容

我试图使用AES算法加密数据。但是,发生以下例外。

java.security.NoSuchAlgorithmException:
    Cannot find any provider supporting AES/ECB/PKCS7PADDING

有人知道解决此问题的方法吗?我的JDK版本是1.7。


问题答案:

您不想为分组密码使用指定PKCS#7填充。您要指定PKCS#5填充。PKCS#5指定用于分组密码,而PKCS#7未指定(用于S /
MIME等不同地方)。我将指出PKCS#5和PKCS#7实际上指定了完全相同的填充类型(它们是相同的!),但是在此上下文中使用时称为#5。:)

所以,而不是"AES/ECB/PKCS7PADDING"您想要的"AES/ECB/PKCS5PADDING"。这是Java平台的每个实现都必须支持的密码实现。有关更多详细信息,请参见该类的文档Cipher



 类似资料:
  • 我们试图在Java7中实现支持AES/GCM/NOPADDING的加密,以获得以下异常。 找不到任何支持AES/GCM/NOPADDING的提供程序 下面是生成密码实例的代码示例。

  • 我想使用生成随机密钥,但java不支持填充,在我的算法中,我必须使用相同的填充,弹性城堡确实支持,但我无法理解如何使用它生成密钥 我的代码: 我收到的错误没有这样的算法

  • 我正在尝试使用JPA和EclipseLink来持久化元素。所以我创建了一个类来持久化 等等。我创建了一个类来“使用”: 然后,我有以下persistence.xml: 但是,即使我改变了属性,我也有同样的错误: 线程"main"中的异常javax.persistence.PeristenceException:没有名为MyPU的EntityManager的持久性提供程序(当调用工厂=Persist

  • 问题内容: 我正在尝试将Entity Framework与MySQL配合使用,但出现上述错误。我安装了最新的MySQL连接器。 完整错误为: 但是,我找不到任何建议说明您如何在“ entityFramework”部分中进行注册的内容。 其他一些帖子(例如)建议将提供程序添加到该 部分中,如下所示: 但这不起作用,因为它声称名称是重复的。而且,如果我实际上遍历了,我可以看到最后一个是MySQL提供程

  • 我尝试使用“RSA/ECB/PKCS7Padding”进行加密。JCE不支持它。所以我下载了Bouncy Castle,但Bouncy Castle似乎也不支持这种转换。以下代码: 投掷 我做得对吗? 蒂亚。

  • 问题 如何用内置的cheerypy提供SSL支持? 解法 import web from web.wsgiserver import CherryPyWSGIServer CherryPyWSGIServer.ssl_certificate = "path/to/ssl_certificate" CherryPyWSGIServer.ssl_private_key = "path/to/ssl