我有两个字符串在不同的处理阶段被散列成一个 ulong(使用 Google 的 CityHash),现在必须将两个散列组合成一个新的散列,而不会显着增加散列冲突的风险。
我知道 XOR 有一些问题(例如 Value ^ 0 = Value),但鉴于两个输入值应该已经分布良好,我怀疑我可以像这样组合哈希
ulong hash = hash1 ^ hash2; // hash1 and hash2 are ulong hashes of strings
这种方法是否有问题,或者是否有更好的方法不会增加显着的计算开销?