【发布时间】:2014-01-19 02:57:51
【问题描述】:
如何在 C# 中计算文件的 MD5 哈希值:
Compute hash for range 1-4096 bytes -> get MD5 hash for this range;
1-8192 -> get MD5 hash for this range;
1-12288 -> get MD5 hash for this range;
1-16384 -> get MD5 hash for this range;
...
1-end of file -> get MD5 hash for file.
所以我总是使用大小为 4096 字节的缓冲区读取文件,并希望更新文件所有读取部分的哈希值。如何实现?看起来 MD5CryptoServiceProvider 无法完成这项任务。
【问题讨论】:
-
不清楚你为什么要这样做。为什么不只是散列整个文件?为什么每个部分都需要哈希?
-
我想按内容比较大量文件,部分读取这些文件是比较它们的好策略。最后读取部分的校验和不是我需要的,我想获取所有读取文件部分的校验和。