0

全部!

我正在使用 CryptoStream 类,使用 memoryStream 进行测试。将来,我们将使用网络数据,因此流将是只读的并且 CanSeek = false。

测试数据约为 750 字节。前 250 个字节是标头,可以正常读取。第二个 250 字节是“真实”数据。第三个 250 字节是包含验证值的尾部,例如流的 hmac。

这是代码的剪辑。我在位置 250 并要求 CryptoStream.Read 获取 250 个字节。返回 250 个字节,但输入位置现在位于流的末尾。有任何想法吗?

byteCount = cs.Read(outputBuffer, 0, bytesToRead)



00005001 inStream.Position = 256
00005002 inStream.Length   = 768
00005003 bytesToRead       = 256
00005004 bytesLeft         = 256
00005010 Invoking cs.Read(outputBuffer, 0, bytesToRead)
00005011 inStream.Position = 768
00005012 inStream.Length   = 768
00005013 bytesToRead       = 256
00005014 bytesLeft         = 0
00005015 byteCount         = 256

在此先感谢您的帮助!

4

0 回答 0