加密算法中的填充方式

  • PKCS7Padding,假设数据长度需要填充n(n>0)个字节才对齐,那么填充n个字节,每个字节都是n;如果数据本身就已经对齐了,则填充一块长度为块大小的数据,每个字节都是块大小。   ---- --AES常用
  • PKCS5Padding,PKCS7Padding的子集,块大小固定为8字节。----DES常用
  • zeropadding,数据长度不对齐时使用0填充,否则不填充

由于使用PKCS7Padding/PKCS5Padding填充时,最后一个字节肯定为填充数据的长度,所以在解密后可以准确删除填充的数据,而使用ZeroPadding填充时,没办法区分真实数据与填充数据,所以只适合以\0结尾的字符串加解密。

猜你喜欢

转载自blog.csdn.net/sunhuansheng/article/details/106655035