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

时间:2011-09-02 10:35:36

标签: security encryption md5 verification file-transfer

我今天阅读了“加密哈希函数”的维基页面。 我知道,md5已应用于文件验证。

有些事情我无法弄清楚,就在这里。

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

2.下载完成后,如何开始验证过程?   我应该手动进行验证还是下载程序(不管是Chrome浏览器下载工具)会自动进行验证吗?

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

谢谢。

3 个答案:

答案 0 :(得分:1)

文件和文件的MD5哈希值分别传输。您需要自己计算文件的MD5哈希值,并将其与下载的版本进行比较。如果匹配则文件是相同的。将MD5视为校验和的更精细版本。

如果你想阻止拦截,那么你需要加密文件,这是一个单独的问题。如果你想确保文件是真正的原始文件而且你没有被假拷贝所假装,并且使用错误的MD5哈希,那么请看HMAC。

答案 1 :(得分:1)

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

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

下载完文件后,您可以将其“提供”给计算文件哈希值的工具。几乎所有的编程语言都有能力做到这一点,并且有很多可以使用的工具。

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

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

数字签名还用于确保文件正确并由已知人员/机构/网站生成。

答案 2 :(得分:1)

除了之前的答案之外,在下载网站上发布的MD5的目的与破解者(中间人攻击)无关。这只是为了确保您正确下载它。如果某些位因任何原因而损坏,则软件可能无法运行。设置安全性要比一个小哈希复杂得多,但幸运的是,您的浏览器知道如何处理:每当您通过TLS(SSL,https)连接时,它将建立安全连接。只需观察发送了多少数据,即使他无法看到数据是什么,攻击者也可以猜出您正在下载哪个文件。

  1. MD5检查完全是手动的。您可以自行下载或复制粘贴。
  2. 每个操作系统都应附带一个md5程序; Windows可能是唯一没有的。如果您不幸需要,可以使用谷歌。
  3. 单独使用md5,他当然可以看到文件是什么。防止拦截的唯一方法是使用加密,大多数网站使用https URL提供加密。
  4. 编辑:什么是MD5?这只是对文件所有部分进行的一点计算的价值。您发送文件,并使用md5程序自己进行计算,并检查您获得的值是否与网站上列出的值相同。计算很聪明,如果文件的一个或多个位被破坏,计算的MD5值将会改变,因此您知道下载不起作用,您需要再次下载。