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

2022-09-01 08:41:18

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

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

有人知道这个问题的解决方案吗?我的JDK版本是1.7。


答案 1

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

因此,您想要 的不是 。这是一个密码实现,Java 平台的每个实现都需要支持它。有关更多详细信息,请参阅密码类的文档"AES/ECB/PKCS7PADDING""AES/ECB/PKCS5PADDING"


答案 2

如果你想使用AES / ECB / PKCS7填充,那么充气城堡将支持http://www.bouncycastle.org/specifications.html