首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[algorithm/md5]:文件共享的详细验证流程是什么?

[algorithm/md5]:文件共享的详细验证流程是什么?
EN

Stack Overflow用户
提问于 2011-09-02 18:35:36
回答 3查看 140关注 0票数 0

我今天看了“密码学哈希函数”的维基页面。我了解到,md5已经在文件验证中得到应用。

有一件事我想不通,就是这样。

假设我想从一个网站上下载一个文件(.exe、.iso等等)。1.服务器会先把文件的md5代码传给我吗?如果是这样,我如何存储md5代码?是否将代码存储在文件中?

2.下载完成后,如何启动验证流程?我是应该手动进行验证,还是应该由下载器(可能是chrome explorer下载工具)自动进行验证?

3.如果我正在下载的文件被互联网上的黑客拦截了,那么黑客会知道这个文件是什么吗?以及如何防止拦截?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-02 20:43:00

根据之前的回答,在下载网站上发布MD5的目的与黑客(中间人攻击)无关。只是为了确保你下载的正确。如果某些位由于某种原因而损坏,则软件可能无法运行。设置安全性远比设置一个小散列复杂得多,但幸运的是,您的浏览器知道如何处理这一点:每当您通过TLS (SSL,https)连接时,它都会建立一个安全连接。仅仅通过观察发送了多少数据,即使攻击者看不到数据是什么,他也可能能够猜测您正在下载的文件。

  1. MD5检查完全是手动的。你可以下载它,或者复制粘贴它,因为操作系统应该附带一个md5程序;Windows可能是唯一一个没有这个程序的操作系统。如果你不幸需要的话,可以在谷歌上搜索一下。
  2. 单独使用md5,他当然可以看到这个文件是什么。防止拦截的唯一方法是使用加密,这是大多数网站使用https URL提供的。

编辑:什么是MD5?它只是对文件的所有部分进行了少量计算的值。你发送文件,并使用md5程序自己进行计算,然后检查您获得的值是否与网站上列出的值相同。计算很巧妙,如果文件的一个或多个位被损坏,则计算出的MD5值将发生变化,因此您知道下载不起作用,需要重新下载。

票数 1
EN

Stack Overflow用户

发布于 2011-09-02 18:43:04

文件和文件的MD5散列分别传输。您需要自己计算文件的MD5哈希值,并将其与下载的版本进行比较。如果它们匹配,则文件是相同的。可以将MD5看作是校验和的一个更精细的版本。

如果你想阻止拦截,那么你需要加密文件,这是一个单独的问题。如果你想确保文件是真正的原始文件,并且你没有被错误的副本所欺骗,使用虚假的MD5散列,那么看看HMAC。

票数 1
EN

Stack Overflow用户

发布于 2011-09-02 20:30:44

可能有一些浏览器插件可以让你自动进行哈希验证。我以前没有做过任何研究。

网站通常会在下载链接旁边提供十六进制格式的散列。

一旦你下载了文件,你就把它‘馈送’给一个工具,这个工具将计算文件的哈希值。几乎所有的编程语言都有能力做到这一点,而且有许多可搜索的工具可以做到这一点。

如果您自己生成的散列与网站上显示的散列匹配,则表明该文件未损坏/是正确的文件。

MD5是用于进行散列验证的最常见的散列函数。不建议再出于安全目的而使用,但验证文件的内容是正确的(在“随意”的情况下)是完全可以的。

数字签名还用于确保文件是正确的,并且是由已知的人/机构/站点生成的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7282242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档