tra*_*ter 2 .net c#
如果我在RijndaelManaged中使用带有16字节数据的PKCS7填充,那么我得到32字节的数据输出.对于PKCS7,似乎当数据大小与块大小匹配时,它会添加一整个额外的数据块.
如果我使用Zeros填充16字节数据,我得到16字节的数据.因此,对于零填充,如果数据与块大小匹配,则它不会填充.
我搜索了文档,它没有说明填充行为的这种差异.
有人可以指点我某种文档,它指定当数据大小与块大小匹配时,不同填充模式的填充行为应该是什么.
Chr*_*bur 6
我发现这篇文章提供了一个解释,似乎与我在搜索过程中发现的其他文章相吻合.这是基本原因:
您可能想知道如果我们的数据长度是块大小的完美倍数会发生什么.在这种情况下,PaddingMode.None和PaddingMode.Zeros不添加填充.但是,在PaddingMode.PKCS7的情况下,必须添加填充,因为密码必须能够反转甚至无填充情况.在这种情况下,必须在纯文本中添加一个附加块,并将每个字节的值设置为块大小(以字节为单位).
归档时间:
15 年,10 月 前
查看次数:
630 次
最近记录:
12 年,9 月 前