gpt4 book ai didi

java - 使用 AES/ECB128/PKCS5Padding 的密码不断抛出 "No such algorithm"异常

转载 作者:行者123 更新时间:2023-11-29 10:05:18 24 4
gpt4 key购买 nike

有人知道这段代码有什么问题吗?

Cipher cipher = Cipher.getInstance("AES/ECB128/PKCS5Padding", "SunJCE");
  • 算法:AES
  • 操作模式:ECB(附加 128 以指定 block 大小)
  • 填充方案:PKCS5Padding

这对我来说似乎是正确的,但它在实例化期间不断抛出“没有这样的算法”异常。

最佳答案

我的类路径中只有常用的 JDK,我运行了这段代码并在输出中搜索 AES:

for (Provider provider: Security.getProviders()) {
System.out.println(provider.getName());
for (String key: provider.stringPropertyNames())
System.out.println("\t" + key + "\t" + provider.getProperty(key));
}

我看到了这一行:

    Cipher.AES SupportedPaddings    NOPADDING|PKCS5PADDING|ISO10126PADDING

这表明我支持您的填充。

我也看到了这一行:

    Cipher.AES SupportedModes       ECB|CBC|PCBC|CTR|CTS|CFB|OFB|CFB8|CFB16|CFB24|CFB32|CFB40|CFB48|CFB56|CFB64|OFB8|OFB16|OFB24|OFB32|OFB40|OFB48|OFB56|OFB64|CFB72|CFB80|CFB88|CFB96|CFB104|CFB112|CFB120|CFB128|OFB72|OFB80|OFB88|OFB96|OFB104|OFB112|OFB120|OFB128

我注意到 ECB 出现在这里,但 ECB128 没有,所以我想知道这是否是问题所在。我要承认,我知道的不够多,无法知道这些信息是否正确。

编辑添加:我可以使用 ECB 而不是 ECB128 调用 Cipher.getAlgorithm("AES/ECB/PKCS5Padding")。在我看来,对于 ECB,您无法指定 block 大小,至少在此处可用的情况下是这样。不确定这对您是否足够。

关于java - 使用 AES/ECB128/PKCS5Padding 的密码不断抛出 "No such algorithm"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10416828/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com