在很多地方,我看到使用 AES 和 PKCS#5 填充的 Java 代码。我不明白这怎么可能起作用。

PKCS#5 填充旨在与块大小

最佳答案

该代码确实使用 PKCS#7 代替。指定 "PKCS5Padding" 的原因很可能是因为与旧的 DES 和 3DES 密码兼容。请注意,PKCS#5 填充正好是 8 个字节,而不是更少。为了兼容性,Bouncy CaSTLe 通常遵循 Sun/Oracle 提供程序,但您也可以为 Bouncy CaSTLe 提供程序使用更正确的 "PKCS7Padding"

更多信息 on the crypto site(免责声明:指向我自己的流行问答)。

关于java - 带有 PKCS#5 填充的 AES,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30809726/

10-13 01:15