Я использую C # в Windows Mobile 5. Программа загружает большие файлы из Интернета вместе с их значениями хеш-функции.Затем он вычисляет хеш-значение загруженных данных и сравнивает его с ожидаемым хеш-значением.Идея состоит в том, чтобы убедиться, что весь файл был загружен не поврежденным.
Проблема в том, что файл достаточно велик, чтобы, если я помещу все содержимое файла в память в байтовом массиве, устройство будетисчерпать память.Однако я хочу сделать это, чтобы я мог вычислить хэш байтов.Можно ли вычислить хеш, не имея всех байтов в памяти одновременно?Предпочтительно я хотел бы вычислить хэши SHA1, используя класс SHA1Managed, но я готов изменить это при необходимости.Я заметил, что существует перегрузка метода SHA1Managed.ComputeHash (), который принимает поток, но я не знаю, использует ли он меньше памяти, чем просто извлечение всех байтов в память и профилировщики памяти, о которых я знаю.NET CF абсолютно бесполезны.