我知道这是一个奇怪的问题,而且我知道 md5sum 几乎不可能被破解...但我只是想知道这里是否有人知道是否可以根据 md5sum 哈希重新创建一个文件?
我的意思是,不一定是与原始文件相同的文件,而是一个等于相同 md5sum 哈希值的文件。到目前为止,我还没有看到谷歌的任何结果
答案1
有可能寻找具有给定 MD5 哈希值的文件,但不可能生产来自哈希本身的此类文件。
答案2
唯一的 MD5 哈希值可以由无限数量的文件生成,因为只有 2^128 个唯一哈希值,但存在无限长度的无限文件(理论上)。
从 MD5 哈希值创建文件需要花费大量的精力!您将创建一系列唯一文件并为每个文件生成 MD5 哈希值,直到找到匹配项为止。当然可能的以“暴力”的方式通过。
但是,如果您拥有生成哈希值的原始文件,您的任务会容易得多。 MD5 有几个已知的缺陷,并且可能为相同的哈希创建略有不同的文件。 MD5并不像你说的那样牢不可破。
答案3
理论上是可以的!正如用户1129682所说,只有2^128个不同的MD5哈希值。现在,您可以使用穷举的方法来查找具有指定MD5的文件。例如,您可以生成一个内容为N个“1”的文件并计算其MD5。将N从1增加到无穷大,那么您将至少找到一个具有预定义MD5的文件。当然,能拿到多久还是个未知数。
答案4
可以根据给定的哈希值创建文件。但是,如果您有一个文件并创建 MD5 哈希值,则此过程不会重新创建该文件,而是创建一个充满乱码的小文件。