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

Duk*_*kem 1 hash crc32 md5 sha1 sha256

对于 CRC32,可以组合两个哈希,这样给定两个流 A 和 B,我们只需知道 CRC(A)、CRC(B) 和 length(B) 就可以找到 CRC(A+B)。此处提供了实现,以及 Mark Adler对其工作原理的解释)。

例如,这使我们能够并行计算单个流上的哈希值,或者仅在其包含介质上使用前向查找来计算大型(如“不适合内存”) 、严重碎片化的流上的哈希值(这为非常慢的媒体提供了巨大的加速潜力)

似乎没有可用于其他更复杂的哈希算法(例如 MD5)的此类行为的实现。MD5 根本不可能实现这种行为吗?难道这件事太难做到了,以至于没有人愿意去尝试吗?更复杂的算法(例如 SHA1 或 SHA256)怎么样?我很想听听对此的任何见解。

Mar*_*ler 5

这对于任何加密哈希来说都是不可能的如果可能的话,那么该哈希值就不再被视为加密的。