在很多地方,我看到使用 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/