Хеш-алгоритмы, как правило, лучше, чем CRC, потому что они имеют меньше коллизий; современные алгоритмы хеширования реализованы как потомки класса HashAlgorithm
. MD5 и SHA1 - общий выбор.
AFAIK, .NET не включает классы CRC, но я написал CRC32 и CRC16 классы, которые поддерживают все алгоритмы CRC-32 и CRC-16.
Чтобы вычислить контрольную сумму (будь то алгоритм хеширования или CRC), вам нужно будет прочитать весь файл, фрагмент за фрагментом, передавая данные файла в алгоритм контрольной суммы. Когда вы закончите со всем файлом, получите результат из алгоритма контрольной суммы.