Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# FlushFinalBlock增加字节数_C#_Asp.net_Encryption - Fatal编程技术网

C# FlushFinalBlock增加字节数

C# FlushFinalBlock增加字节数,c#,asp.net,encryption,C#,Asp.net,Encryption,所以基本上正如标题所说,我只是有一个关于FlushFinalBlock的问题。为什么我的加密数据在到达FlushFinalBlock时会从原始字节大小增加16字节?大多数加密都使用固定大小的块 FlushFinalBlock()必须将最后一个数据段填充到完整的块大小 确切数字将取决于加密类型和块大小。填充细节也是一个参数。谢谢,我认为我的加密有问题,因为我在解密中收到了一个“错误长度”。问题是我使用的是混合加密,密钥是32字节,变成128,iv是16,变成128总计=256+文件大小,然后在解密

所以基本上正如标题所说,我只是有一个关于FlushFinalBlock的问题。为什么我的加密数据在到达FlushFinalBlock时会从原始字节大小增加16字节?

大多数加密都使用固定大小的块

FlushFinalBlock()必须将最后一个数据段填充到完整的块大小


确切数字将取决于加密类型和块大小。填充细节也是一个参数。

谢谢,我认为我的加密有问题,因为我在解密中收到了一个“错误长度”。问题是我使用的是混合加密,密钥是32字节,变成128,iv是16,变成128总计=256+文件大小,然后在解密过程中读取128字节的数据,但是我有一个“坏长度”错误。当我将解密改为读取86字节时,它不会出现……并不是所有的密码模式或密码都适用于固定大小的块。实际上,只有(P)CBC和ECB是这样工作的,流密码显然不使用块。类似地,只有那些模式需要填充,它们也可能使用密文窃取。所以我不确定我是否同意这个答案的开头。OTOH,很可能这就是这个特定问题的结果。我无法理解细节。如果你需要帮助,请发布一类问题@Toy99@Maarten-我不认为streamcyphers使用得太多,OP已经提到了静脉注射。