Я выполняю операцию, когда я получаю несколько байтов от компонента, выполняю некоторую обработку и затем отправляю ее следующему компоненту. Мне нужно уметь вычислять хэш всех данных, которые я видел в любой момент времени, и из-за размера данных; Я не могу хранить все это в локальном буфере.Вычислить хеш, не имея сразу всего буфера в памяти
Как бы вы вычислили хэш (MD5) в этих условиях?
Я думаю, что я должен уметь удерживать промежуточный результат хэша и добавлять больше данных, когда я иду. Но поддерживает ли какой-либо из встроенных классов инфраструктуры это?
TransformBlock/TransformFinalBlock работает; но если куски, которые вы можете передать в функцию TransformFinalBlock, не имеют того же размера или больше, чем хэш, вам нужно использовать свойство HashAlgorithm.Hash, чтобы получить хэш после вызова TransformFinalBlock. – driis
Ах, рад, что он работает на вас сейчас. – Noldorin