这个问题听起来可能很傻,但在浏览任何计算机语言站点时,我通常会遇到一个在括号内或在语言下载链接旁边写的MD5值。
为什么要提供MD5?它在那里有什么用?在下载过程中有帮助吗?在那里给出了哪个值的MD5?是否有发行版的MD5值.
例如:
为什么会这样呢?
发布于 2013-08-13 10:17:12
如果某些下载镜像将被黑客入侵,以便在二进制文件中注入代码,二进制文件的md5将被更改。因此,通过检查下载文件的md5,您可以确保您的文件没有被修改。
发布于 2013-08-13 10:40:36
严格来说,md5并不是加密。这是一种消息摘要(“散列”)算法。它是不可逆的。将此视为文件的指纹。其他算法是可用的:沙-1,SHA-256,列举几个流行的选择。
显然,所有哈希算法都容易发生冲突(有有限的哈希值,但输入文档的数量是无限的)。“错误地”碰撞的可能性很小,但从大约10年前就已经证明,可以伪造一个与原始md5哈希相同的假文档。实际上,对于md5来说,这甚至是最糟糕的,因为我可以选择“假”文档的前缀,并在它的末尾添加一些“神奇垃圾”,生成一个与原始md5哈希相同的“假”存档。
从今天起,md5的主要用途应该是检查文档的完整性,防止下载错误。仅此而已。
It 不应被用于防止恶意回火。
https://stackoverflow.com/questions/18206403
复制相似问题