如何从MD5总和生成文件

时间:2013-10-27 01:36:29

标签: any

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

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

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

为了扩展Jim W所说的内容,任何哈希函数都是单向的,这意味着它们的功能不需要很容易逆转 - 而有些可能有反转,大多数都是不

MD5是一个加密哈希函数,这意味着它有意设计非常难以反转。 MD5尤其相对较弱,有一些漏洞可以轻松找到 collisions - 两个具有相同MD5哈希值的文件。

由于MD5哈希只有128位,因此有2 ^ 128种不同的可能MD5哈希值,虽然这是一个非常大的数字,但仍有许多,比世界上的文件多得多(可能是无限数量,因此,某些文件将不可避免地散列到相同的值。正如用户2864740在评论中指出的那样,这被称为pigeonhole principle

加密哈希函数(如SHA-256)是一种在计算上无法可靠地找到此类冲突的函数。