如何为位于Http Url中的文件生成MD5哈希?

时间:2011-07-11 14:12:05

标签: c# md5

我正在编写一个网络抓取工具来搜索文件并下载。我的问题是我不想下载已经下载到本地驱动器的相同文件。我知道可以使用MD5哈希进行比较但是如何在HTTP URL上执行此操作而不将其下载到本地磁盘?

如果这种做法是错误的。请提供更好的解决方案建议

3 个答案:

答案 0 :(得分:8)

除非网络服务器有某种共享MD5的服务,否则编号

计算文件哈希需要文件中的每个字节。这就是为什么更改单个字节会更改散列,以防止获取已修改的文件。

答案 1 :(得分:2)

要生成哈希,您将需要数据(即,您需要以某种方式下载)。

我建议您使用If-Modified-Since HTTP标头进行调查(或者如果特定服务器提供的话,可以使用ETag/If-None-Match)。

答案 2 :(得分:0)

您可以在远程文件上执行的唯一比较是大小比较。不幸的是,这可能不足以确定内容是否相同。