Hash 组合两个值的好对称(交换)散列是什么?

Hash 组合两个值的好对称(交换)散列是什么?,hash,Hash,这个问题是关于一对整数a和B,它们应该以对称方式散列。我所说的对称是指: hash(A,B) == hash(B,A) A和B已经是更大数据集的散列,但我想这对这个问题没有多大改变 一个糟糕的想法是: hash(A,B) = A XOR B 更好的方法是: hash(A,B)=(A不是B)+素数因子*(A和B) 有更好的(但仍然很快)吗?散列(A,B)=任何其他散列(min(A,B),max(A,B))@melpomene:回答不错,谢谢:)散列(A,B)=任何其他散列(min(A,B),m

这个问题是关于一对整数
a
B
,它们应该以对称方式散列。我所说的对称是指:

hash(A,B) == hash(B,A)
A
B
已经是更大数据集的散列,但我想这对这个问题没有多大改变

一个糟糕的想法是:

hash(A,B) = A XOR B
更好的方法是:

hash(A,B)=(A不是B)+素数因子*(A和B)


有更好的(但仍然很快)吗?

散列(A,B)=任何其他散列(min(A,B),max(A,B))
@melpomene:回答不错,谢谢:)
散列(A,B)=任何其他散列(min(A,B),max(A,B))
@melpomene:回答不错,谢谢:)