Java 带有PKCS#5填充的AES

Java 带有PKCS#5填充的AES,java,encryption,aes,bouncycastle,jce,Java,Encryption,Aes,Bouncycastle,Jce,在相当多的地方,我看到使用AES和PKCS#5填充的Java代码。我不明白这怎么可能奏效 PKCS#5填充意味着与块大小为的密码一起使用。代码实际上使用的是PKCS#7。指定“PKCS5Padding”的原因很可能是由于与旧的DES和3DES密码兼容。请注意,PKCS#5填充正好是8字节,而不是更少。为了兼容性,Bouncy Castle通常遵循Sun/Oracle提供程序,不过也可以对Bouncy Castle提供程序使用更正确的“PKCS7Padding” 更多信息(免责声明:指向我自己流行

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


PKCS#5填充意味着与块大小为的密码一起使用。代码实际上使用的是PKCS#7。指定
“PKCS5Padding”
的原因很可能是由于与旧的DES和3DES密码兼容。请注意,PKCS#5填充正好是8字节,而不是更少。为了兼容性,Bouncy Castle通常遵循Sun/Oracle提供程序,不过也可以对Bouncy Castle提供程序使用更正确的
“PKCS7Padding”


更多信息(免责声明:指向我自己流行的Q/A)。

PKCS#7在内部使用。实际上,这两种方法在技术上是相同的,忽略了PKCS#5的大小限制。@Henry,你能把它作为一个答案添加进来吗?(最好是有一些代码链接,显示PKCS#7在内部使用)。我投票结束这个问题,因为这不是一个编程问题,而是一个密码问题。此外,如前所述,@OlegEstekhin已经回答了这个问题,这个问题不是关于密码的使用。这是关于做这件事的API。我很清楚应该使用哪种填充方案以及它们之间的区别——而不是API是什么以及内部使用了什么。此外,我还要求在注释中提供代码的链接。