0

标题说明了一切。据我了解,每个文件都有一个唯一的 MD5 校验和。是否可以从总和中对文件进行逆向工程?

例如,假设一个视频的总和是 5。我知道,但这只是一个例子。你能写一个程序,输入 5 并生成一个视频吗?

换句话说,不是从文件中生成总和,而是从总和中获取文件。

4

2 回答 2

1

不,这是一种方法——否则就是一种很好的压缩方法!

于 2013-10-27T01:37:57.883 回答
0

为了扩展 Jim W 所说的,任何散列函数都是单向的,这意味着它们是不需要容易可逆的函数——虽然有些可能有逆,但大多数没有。

MD5 是一种加密散列函数,这意味着它被有意设计为非常难以逆转。特别是 MD5 相对较弱,有一些漏洞可以很容易地发现冲突——两个文件具有相同的 MD5 哈希值。

由于 MD5 哈希只有 128 位,因此有 2^128 种不同的可能 MD5 哈希,虽然这是一个非常大的数字,但仍然比世界上的文件多得多(实际上可能是无限的),所以有些文件不可避免地会散列到相同的值。正如 user2864740 在评论中指出的那样,这被称为鸽巢原理

强大的加密哈希函数(如 SHA-256)被认为在计算上无法可靠地找到此类冲突。

于 2013-10-27T01:46:51.930 回答