可以组合/连接MD5哈希值吗?

时间:2018-04-09 19:56:30

标签: hash md5 sha1 sha256 crc32

对于CRC32,可以组合两个哈希值,这样给定两个流A和B,我们可以找出只知道CRC(A),CRC(B)和长度(B)的CRC(A + B) 。 (可用的实施here,以及Mark Adler here对其工作原理的解释。

这允许我们,例如,并行计算单个流上的哈希值,或者计算大型上的哈希值(如'不适合内存'),严重碎片流仅使用正向搜索其包含的媒体(这为非常慢的媒体提供了极大的加速潜力)

似乎没有针对其他更复杂的哈希算法(如MD5)实现此类行为的实现。从MD5开始,这种行为根本不可能吗?是不是很难做到没有人费心去尝试?那些更复杂的算法如SHA1或SHA256呢?我很想听听有关这方面的任何见解。

1 个答案:

答案 0 :(得分:2)

对于任何加密哈希, 都不可能。如果可能,则该哈希不再被视为加密。