为啥下载有时会标记 md5、sha1 和其他哈希指标?

Posted

技术标签:

【中文标题】为啥下载有时会标记 md5、sha1 和其他哈希指标?【英文标题】:why are downloads sometimes tagged md5, sha1 and other hash indicators?为什么下载有时会标记 md5、sha1 和其他哈希指标? 【发布时间】:2010-09-06 10:40:06 【问题描述】:

我到处都看到了:

在这里下载! SHA1 = 8e1ed2ce9e7e473d38a9dc7824a384a9ac34d7d0

这是什么意思?就下载而言,哈希是如何发挥作用的……我能用它做什么?这是您过去下载整个文件后必须验证一些校验和的旧项目吗?

【问题讨论】:

【参考方案1】:

这是一种安全措施。它允许您验证您刚刚下载的文件是作者发布到站点的文件。请注意,使用来自您从中获取文件的同一网站的哈希值并不是特别安全。获取它们的好地方通常是邮件列表公告,其中 PGP 签名的电子邮件包含指向文件的链接和哈希。

由于某种原因,与其他答案相比,此答案的排名如此之高,我正在对其进行编辑以添加下面其他作者首先提到的另一个主要原因,即在传输文件后验证文件的完整性通过网络。

所以:

安全性 - 验证您下载的文件是作者最初发布的文件 完整性 - 验证文件在网络传输过程中没有损坏。

【讨论】:

如果 sha1 不匹配怎么办?例如,在jquery-watermark,四个最近下载的每一个都具有与我下载时完全不同的 sha1。 (我使用 Microsoft 的 FCIV,它已与我检查过的其他文件一起使用。) 努力联系文件的分发者并了解为什么哈希不匹配 - 也许你犯了一个错误,但也许你可以帮助他们发现一个真正的问题。在您了解哪个文件之前不要运行这些文件...【参考方案2】:

在下载较大的文件时,执行校验和以确保下载成功并且不会在传输过程中损坏通常很有用。有大量免费软件应用程序可用于为您生成校验和以验证您的下载。对我来说,这是一个有趣的主流 mp3 和warez 网站过去在分发文件时使用的主流程序。

【讨论】:

【参考方案3】:

SHA1 和 MD5 哈希用于验证您下载的文件的完整性。它们不一定是遗留技术,并且可以由 openssl 中的工具等工具使用,以验证您的文件是否已损坏/从原始文件更改。

【讨论】:

【参考方案4】:

这是为了确保您正确下载了文件。如果您对下载的文件进行哈希处理并且它与页面上的哈希值匹配,那么一切都很好。

【讨论】:

【参考方案5】:

加密哈希(例如 SH1 或 MD5)可让您验证您已正确下载的文件是否已被正确下载且未被篡改。

【讨论】:

【参考方案6】:

按照这里每个人的说法,当我需要在 Windows 上生成/比较 MD5 和 SHA1 哈希时,我使用HashTab。它会在文件属性窗口中添加一个新选项卡并计算哈希值。

【讨论】:

【参考方案7】:

使用 has (MD5, SHA-1) 一个输入只匹配一个输出,然后如果你下载文件并再次计算哈希应该得到相同的输出。 如果输出不同,则文件已损坏。

If (hash(file) == “Hash in page”)
    validFile = true;
else
    validFile = false;

【讨论】:

你可能想改写你的答案,哈希冲突是可能的(两个输入可能有相同的输出)。

以上是关于为啥下载有时会标记 md5、sha1 和其他哈希指标?的主要内容,如果未能解决你的问题,请参考以下文章

为啥下载的有些WIN7系统会公布MD5,SHA1,CRC32?

MD5,sha1,sha256分别输出多少位啊?

网络安全——Base64编码MD5SHA1-SHA512HMAC(SHA1-SHA512)哈希

MD5、sha1、sha256分别输出多少位?

openssl evp 哈希算法(md5,sha1,sha256)

Java 对字符串数据进行MD5/SHA1哈希散列运算