为什么它编写了md5,并下载了php、ruby等任何语言



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

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

例如:

  1. PHP//MD5具有特权
  2. 给出了Ruby//MD5
  3. Python//再次MD5

为什么会这样?

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

md5不是严格意义上的,说的是加密。这是一个消息摘要("哈希")算法。它是不可逆的。可以将其视为文件的指纹。其他算法可用:SHA-1,SHA-256,列举一些流行的选项。

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

到目前为止,md5的主要用途应该是检查文档的完整性,防止下载错误。不多。

不应使用来防止恶意回火

最新更新