假设我有两个字符串(或字节数组)A 和 B,它们都具有相同的散列(散列是指 MD5 或 SHA1 之类的东西)。如果我在它后面连接另一个字符串,A+C 和 B+C 是否也具有相同的哈希 H'?C+A 和 C+B 会发生什么?
我用MD5对其进行了测试,在我的所有测试中,在末尾附加一些东西使哈希值相同,但在开头附加却没有。
这是否总是正确的(对于所有输入)?
对于所有(众所周知的)散列函数都是这样吗?如果不是,是否存在(众所周知的)散列函数,其中 A+C 和 B+C 不会碰撞(C+A 和 C+B 也不会)?
(除了MD5(x + reverse(x))
我的意思是和其他构造的东西)