为什么它写的md5以及任何语言的下载,如php,ruby等?

时间:2013-08-13 10:14:11

标签: php python ruby md5

这个问题可能听起来很愚蠢,但在导航任何计算机语言网站时,我通常会遇到在括号内或语言下载链接旁边写的MD5值。

为何提供MD5? 它有什么用?下载过程有帮助吗?哪个值的MD5在那里给出?是否有发布版本的MD5值。

如:

  1. PHP // MD5是私有的
  2. Ruby // MD5已发出
  3. Python //再次MD5
  4. 为什么会这样?

2 个答案:

答案 0 :(得分:2)

如果某些下载镜像被黑客攻击以在二进制文件中注入代码,则会更改md5的二进制文件。因此,通过检查下载文件的md5,您可以确保您的文件未被修改。

答案 1 :(得分:1)

md5 严格 加密 这是消息摘要(“哈希”)算法。这是不可逆转的。可以将其视为文件的指纹。其他算法可用:SHA-1,SHA-256,仅举几个流行的选项。

显然,所有哈希算法都容易受到冲突(有一个有限数量的哈希值,但无限数量的输入文档)。 “错误”碰撞的可能性很小,但事实证明,自10年前以来,人们可以伪造一个与原始文件具有相同md5哈希的假文件。事实上,对于md5,这甚至是最糟糕的,因为我能够选择“假”文档的前缀,并在其末尾添加一些“魔法垃圾”来生成一个“假”存档,与原始存档具有相同的md5哈希值。

截至今天,md5 的主要用途应该是来检查文档的完整性以防止下载错误。不仅如此。

不应用于防止恶意篡改。