我如何下载 Mercurial 并确保我拥有未被篡改的副本?

我如何下载 Mercurial 并确保我拥有未被篡改的副本?

我想下载 Mercurial(不是“Tortoise”版本),但只能找到下载链接http://mercurial.selenic.com/release/windows/Mercurial-2.4.2.exe这不是 HTTPS 链接。下载该文件会给我一个未签名的“未知发布者”EXE。

我如何才能确信我拥有这个程序员工具的未篡改的副本?

注意,这个问题并不是要批评 Mercurial 发布者。我只是想知道其他 Mercurial 用户在运行安装程序之前如何检查他们是否下载了正确的版本。

答案1

通常,任何给定文件的有效性都可以通过 MD5 校验和给出,因此请查看您是否可以为所需文件找到已发布的可接受的 MD5 校验和,并在下载后检查特定文件的 MD5。发布 MD5 校验和对于许多事物来说都是相当常见的做法,尤其是像这样的开源事物。

相反,正如@KeithThompson 指出的那样,SHA1 更好,尽管知道 MD5 和 SHA1 都可以伪造以获得准确性很重要,因此更复杂的加密技术将提供更高级别的保证,但我没有看到任何已发布的 MD5、SHA1 或更复杂技术的签名,所以我的建议是相信 MD5/SHA1 组合,感谢 Keith Thompson 的评论:

e886b2d2469c848efd67af4c2b63d9d5(MD5)

a2f690fa544adac01fc9d8c66685129ac2d02cb1(SHA1)

我认为伪造一个文件以匹配两种哈希算法比仅匹配一种哈希算法要困难得多,所以这有点帮助。那就是如果我们相信 Keith Thompson... ;)

答案2

TortoiseHG 的 Bitbucket 存储库中的(请注意,也有纯 Mercurial,没有 THG)似乎有一个有效的数字签名,至少是 .msi(但是您可以通过 HTTPS 下载所有内容)。奇怪的是,Mercurial 的网站上甚至没有校验和。

相关内容