Hash 包含自己的MD5哈希的文件

Hash 包含自己的MD5哈希的文件,hash,md5,checksum,Hash,Md5,Checksum,我刚才读到一个问题()我还有一个后续问题 问题是这样的: 是否可以将MD5哈希添加为文件的最后128位,并将该哈希作为文件本身的MD5哈希? 答案是,理论上,使用暴力是可能的 我现在的问题是: 这可以象征性地完成吗?调用添加的128位[a_0,…,a_127],并象征性地执行哈希算法的最后一次迭代。然后散列[h_0,…,h_127]将取决于a:s。然后让a_0=h_0,a_1=h_1等。如果没有解决方案,请添加一些填充,然后在另一个位置尝试。 我知道校验和的目的是验证一个文件。这只是理论上的推理

我刚才读到一个问题()我还有一个后续问题

问题是这样的:
是否可以将MD5哈希添加为文件的最后128位,并将该哈希作为文件本身的MD5哈希?

答案是,理论上,使用暴力是可能的

我现在的问题是:
这可以象征性地完成吗?调用添加的128位[a_0,…,a_127],并象征性地执行哈希算法的最后一次迭代。然后散列[h_0,…,h_127]将取决于a:s。然后让a_0=h_0,a_1=h_1等。如果没有解决方案,请添加一些填充,然后在另一个位置尝试。


我知道校验和的目的是验证一个文件。这只是理论上的推理

这些答案都是关于简单的散列算法,比如crc32。我不相信有一种有效的方法可以做到这一点。但我相信,对于许多复杂的文件格式(例如pdf),可以显示文件的md5哈希。有趣的事实是:SE网络的导出/开放数据/归档文件中使用的文件包含一个“自身”的md5。但是,如果您计算所述文件的md5sum,它将与其中的md5sum值不同。此外,散列以十六进制表示形式写入,而不是作为文件的最后一部分,这使得蛮力更具挑战性。很高兴知道为什么SE创建了一个“建议”包含它自己的md5sum的文件?