给定两个加密哈希(例如使用 SHA1):
hash1 = sha1(data1)
hash2 = sha1(data2)
我想将这两个散列组合成一个“看起来像”另一个散列的值(例如,对于 SHA1,它是 160 位)。假设只有hash1
和hash2
是已知的,并且data1
和data2
是未知的。
选项 1:计算两个散列连接的散列:
hash3 = sha1(concat(hash1, hash2))
选项 2:计算两个哈希的 XOR:
hash3 = hash1 XOR hash2
哪个选项不太可能发生冲突?