MD5 和 SHA1 校验和用于下载

Zac*_*Zac 8 hashing

我注意到在下载很多开源工具(Eclipse 等)时有 MD5 和 SHA1 校验和的链接,但不知道这些是什么或它们的目的是什么。

我知道这些是散列算法,而且我确实了解散列,所以我唯一的猜测是这些用于散列下载目标的某些组件,并将它们与存储在服务器端的“官方”散列字符串进行比较。也许通过这种方式可以确定目标是否已从其正确版本(出于安全和其他目的)进行了修改。

我是接近还是完全错了,如果错了,它们是什么?!?!

谢谢!

And*_*aKo 11

你几乎完全正确。唯一的更正是它们是整个文件的散列。

有时,无论使用何种方式传输文件,文件都可能在下载过程中损坏。散列是为了确保文件完好无损。这对于 Internet 连接不良的用户特别有用。当我使用传真调制解调器时,我经常遇到下载损坏的问题。

一些下载管理器(如 GetRight,如果我没记错的话)甚至可以自动计算文件的哈希值并将其与已知值进行比较。

另一个有趣的点是安全性。开源工具的一个潜在问题是您可以信任分发者的程度。像 Eclipse 这样的程序通常是软件公司使用的主要工具,因此对于他们来说,完整地从开发人员转移到用户是极其重要的。由于程序是开源的,因此有可能例如制作看起来正常的受感染版本,但将源代码泄漏到某些远程服务器或用病毒感染软件制作的程序(我认为这实际上发生在某些版本的Delphi上)或类似的东西。出于这个原因,重要的是拥有官方正确的哈希,它可以用来检查分发的文件是否是所声称的。

关于分销渠道的一些想法。通常可以在大量站点和最流行的站点(例如 SourceForge)上找到免费软件,例如有大量镜像。假设 Barland 有一台服务器,它反映了一个大型软件分发站点。FooSoft 使用站点分发的程序,它们位于 Barland 旁边的巴兹共和国。如果有人想渗透 FooSoft,他可以只修改 Barland mirror 的副本,并希望地理定位软件能够确保 FooSoft 获得修改后的版本。由于来自其他镜像的版本没有问题,因此检测到恶意软件的可能性较低。您还可以让恶意软件检测计算机的 IP 地址并仅在它来自某个范围时激活,这样就降低了被发现的机会等等。

  • 很好的答案;) (3认同)