AES/DES/RSA 的加解密封装,PKCS5、ZERO填充方式

MD5/RSA 签名、验签
 

PKCS5 和 PKCS7 都是密码学中的填充方案,用于在加密过程中将数据填充到特定块大小的倍数。它们的区别在于块大小的不同。

  • PKCS5 填充:PKCS5 填充方案适用于使用 64 位块大小的对称加密算法(如 DES),其中填充字节的值与填充的字节数相同。例如,如果需要填充 4 字节,则填充的字节值都为 0x04。PKCS5 填充和 PKCS7 填充实际上是相同的,只是在应用 PKCS5 填充时,块大小固定为 64 位。

  • PKCS7 填充:PKCS7 填充方案适用于使用任意块大小的对称加密算法,例如 AES 的块大小可以是 128 位(16 字节),而 DES 的块大小是 64 位(8 字节)。PKCS7 填充使用填充字节的值等于填充的字节数。例如,如果需要填充 4 字节,则填充的字节值都为 0x04。

实际上,PKCS7 填充方案已经替代了 PKCS5 填充方案,并成为广泛使用的填充方式。无论是在使用 64 位块大小的加密算法还是其他块大小的加密算法,通常都使用 PKCS7 填充。因此,在大多数情况下,PKCS5 和 PKCS7 填充可以视为相同的填充方案。