编程语言
首页 > 编程语言> > java – 使用PKCS#5填充的AES

java – 使用PKCS#5填充的AES

作者:互联网

在很多地方,我看到使用AES和PKCS#5填充的Java代码.我不明白这是如何做到的.

PKCS#5填充意味着与块大小<= 8字节的密码一起使用. AES的块大小为16个字节.是否所有使用AES和PKCS#5的代码都错了?或者框架内部是否使用PKCS#7?有问题的框架将是Sun在Java,JCE和BouncyCastle中提供的.

解决方法:

代码确实使用了PKCS#7.指定“PKCS5Padding”的原因很可能是由于与旧的DES和3DES密码的兼容性.请注意,PKCS#5填充正好是8个字节,而不是更少.为了兼容性,Bouncy Castle通常遵循Sun / Oracle提供商,尽管您也可以为Bouncy Castle提供商使用更正确的“PKCS7Padding”.

更多信息on the crypto site(免责声明:指向我自己的热门Q / A).

标签:java,encryption,aes,bouncycastle,jce
来源: https://codeday.me/bug/20190702/1359576.html