好记性不如铅笔头

编程

填充模式:PKCS#5/PKCS7

填充模式:PKCS#5/PKCS7
参考链接,有大量删减。
https://blog.csdn.net/test1280/article/details/75268255

假设使用PKCS#5进行填充,BlockSize是8字节(64bit):
假设待加密数据长度为x,那么将会在后面padding的字节数目为8-(x%8),每个padding的字节值是8-(x%8)。
特别地,当待加密数据长度x恰好是8的整数倍,也是要在后面多增加8个字节,每个字节是0x08。
PKCS#5以及PKCS#7的区别
PKCS#5在填充方面,是PKCS#7的一个子集:
PKCS#5只是对于8字节(BlockSize=8)进行填充,填充内容为0x01-0x08;
但是PKCS#7不仅仅是对8字节填充,其BlockSize范围是1-255字节。
所以,PKCS#5可以向上转换为PKCS#7,但是PKCS#7不一定可以转换到PKCS#5(用PKCS#7填充加密的密文,用PKCS#5解出来是错误的)。
1.https://en.wikipedia.org/wiki/Padding_(cryptography)
2.https://en.wikipedia.org/wiki/PKCS
3.https://en.wikipedia.org/wiki/Block_cipher_mode_of_operation
4.https://crypto.stackexchange.com/questions/9043/what-is-the-difference-between-pkcs5-padding-and-pkcs7-padding
5.http://www.cnblogs.com/ryq2014/p/6379153.html
6.http://blog.csdn.net/zsy19881226/article/details/46928177

发表评论

18 + 8 =

此站点使用 Akismet 来减少垃圾评论。了解我们如何处理您的评论数据