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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步