padding模式

缘起

在遇到AES和DES等分组加密算法时,需要明文满足一定的长度要求(分组的倍数),但是大多数情况下明文没法满足长度的苛刻要求,于是就要进行padding使传入的内容满足长度要求。

Nopadding

就是不填充,明文满足分组算法的长度要求,不需要再进行填充。

PKCS5/PKCS7

填充数据为填充字节的长度,填充至符合块大小的整数倍。eg.如果块长度为16,原文数据长度9,则填充字节数等于0x07,则需要填充7位0x07

ISO7816-4Padding

填充的第一个字节为0x80,后面填充的均为0x00,填充至符合块大小的整数倍。eg.如果块长度为16,原文数据长度9,则填充为:0x80 0x00 0x00 0x00 0x00 0x00 0x00

ISO10126Padding

填充的最后一个字节为填充字节的长度,其他随机,填充至符合块大小的整数倍。eg.如果块长度为16,原文数据长度为9,则填充为: random random random random random random 0x07

空格填充

顾名思义,即填充的每个字节为空格对应的字节数0x20

0x00填充

基本同上,填充的每个字节均为0x00

 

posted @ 2024-10-09 16:45  打盹  阅读(8)  评论(0编辑  收藏  举报