MD5 Hash文件代表什么?

时间:2015-11-18 11:39:02

标签: file hash cryptography md5

我知道文件的MD5哈希就像一个用于确认完整性和真实性的数字指纹。有许多实用程序可以获取文件的MD5哈希,但该哈希基于什么?文件大小?归档低级二进制文件?码?

2 个答案:

答案 0 :(得分:2)

MD5是一种所谓的加密哈希函数。

这基本上意味着您可以输入任何位串作为函数的输入,并且您将获得一个固定大小的位串(在MD5的情况下为128位)作为输出。输出通常称为“摘要”。

摘要仅取决于输入而不是其他内容。因此,它本身可以用作完整性证明,但不能用作真实性,如果底层哈希函数具有必要的属性(在本例中为collision-resistance)。这意味着对于两个不同的输出,摘要本身也应该是不同的。问题是摘要的大小是固定的,这反过来意味着有足够数量的消息总是可以找到碰撞(即两个不同的输入产生相同的输出)。

还应该注意到,现在没有理由使用MD5,因为已经发现了弱点(即修复后的碰撞攻击)。在现代硬件上使用SHA-256/512通常比MD5更快。

很快:加密哈希函数(以及MD5)的输出取决于输入的位串。

更新:根据您对其他答案的评论,您正在寻找:https://en.wikipedia.org/wiki/MD5#Algorithm

答案 1 :(得分:0)

你可以在这里阅读: https://en.wikipedia.org/wiki/Md5sum

通常,算法在文件上运行,并且它的输出是校验和,这意味着如果有人更改文件中的某个位,则校验和将被更改。因此,这是一种验证您所查看的文件是您认为正在查看的文件并降低某人将melicius代码放入其中的可能性的方法