为什么要在下载任何语言(如php、ruby等)的同时编写md5?
这个问题可能听起来很傻,但在浏览任何计算机语言网站时,我通常会遇到一个写在括号内或语言下载链接旁边的MD5值 为什么提供MD5? 它在那里有什么用?它对下载过程有帮助吗?那边给出了MD5的哪个值?是否存在发布版本的MD5值。 例如:为什么要在下载任何语言(如php、ruby等)的同时编写md5?,php,python,ruby,md5,Php,Python,Ruby,Md5,这个问题可能听起来很傻,但在浏览任何计算机语言网站时,我通常会遇到一个写在括号内或语言下载链接旁边的MD5值 为什么提供MD5? 它在那里有什么用?它对下载过程有帮助吗?那边给出了MD5的哪个值?是否存在发布版本的MD5值。 例如: //MD5是私有的 //给出了MD5 //还是MD5 为什么会这样?如果一些下载镜像被黑客攻击,以在二进制文件中插入代码,则二进制文件的md5将被更改。因此,通过检查下载文件的md5,您可以确保您的文件未被修改。md5严格来说不是加密。这是一个消息摘要(“哈希”)算
为什么会这样?如果一些下载镜像被黑客攻击,以在二进制文件中插入代码,则二进制文件的md5将被更改。因此,通过检查下载文件的md5,您可以确保您的文件未被修改。md5严格来说不是加密。这是一个消息摘要(“哈希”)算法。这是不可逆的。可以将此视为文件的指纹。还有其他算法可用:SHA-1、SHA-256,仅举几个流行选项 显然,所有哈希算法都容易受到冲突的影响(哈希值的数量有限,但输入文档的数量却无限)。“错误地”碰撞的可能性很小,但大约10年前就已经证明,可以伪造与原始文档具有相同md5哈希的假文档。事实上,对于md5来说,这甚至是最糟糕的,因为我可以选择“假”文档的前缀,并在其末尾添加一些“魔法垃圾”,以生成与原始文档具有相同md5哈希的“假”归档 到目前为止,md5的主要用途应该是检查文档的完整性和下载错误。没有比这更多的了
它不应用于防止恶意回火。感谢fr共享...)但是我们为什么不使用sha1或任何其他类型的加密呢?@Rahul md5严格来说不是加密。这是一个消息摘要(“哈希”)算法。这是不可逆的。可以将此视为文件的指纹。其他算法也可用。但出于这个目的,md5已经足够了(即使从大约10年前就已经证明,人们可以伪造一个与原始文档具有相同md5哈希的假文档)。@SylvainLeroux谢谢buddy.)@Rahul我将发布一个稍微编辑过的评论版本作为答案,因为我没有仔细阅读当前的答案。但是我们知道MD5需要传递一些值。使用了哪个值?生成该散列的是版本号还是任何随机值?@Rahul下载文件时,给出的md5通常是整个归档文件的md5散列。这就是你检查档案完整性的方法。哦。。谢谢明白了……)