【发布时间】:2010-11-22 22:39:09
【问题描述】:
我正在执行一个操作,我从一个组件接收一些字节,进行一些处理,然后将其发送到下一个组件。我需要能够计算我在任何给定时间看到的所有数据的哈希值——并且由于数据大小;我无法将其全部保存在本地缓冲区中。
在这些情况下,您将如何计算 (MD5) 哈希?
我认为我应该能够保留散列的中间结果,并在进行时添加更多数据。但是是否有任何内置框架类支持这一点?
【问题讨论】:
我正在执行一个操作,我从一个组件接收一些字节,进行一些处理,然后将其发送到下一个组件。我需要能够计算我在任何给定时间看到的所有数据的哈希值——并且由于数据大小;我无法将其全部保存在本地缓冲区中。
在这些情况下,您将如何计算 (MD5) 哈希?
我认为我应该能够保留散列的中间结果,并在进行时添加更多数据。但是是否有任何内置框架类支持这一点?
【问题讨论】:
您只想使用该类的TransformBlock 和TransformFinalBlock 成员,它们允许您以块的形式计算散列。
MSDN 有一个很好的例子来说明如何做到这一点。
【讨论】:
它没有装在盒子里有点令人惊讶。
如果在成员变量中创建MD5CryptoServiceProvider,反复调用ComputeHash(),是不是不能作为append呢?
【讨论】: