Hash 双向散列算法?

Hash 双向散列算法?,hash,Hash,有没有一种算法可以对两个数字产生相同的哈希值,而不管它们的顺序是什么 例如,散列3268和2642应产生与散列2642和3268相同的结果 这可能吗?分别对这两个数字进行散列(使用您选择的整数对整数散列),然后对结果进行加法或异或运算。当然,异或运算就是这样做的 3268^2642 == 2642^3268 还有很多(加法、乘法,基本上是任何交换运算),但XOR通常用于哈希运算(因为很容易“取消哈希”)。在对两个数字进行哈希运算之前,您可以对它们进行加法或XOR运算。什么是“对两个数字进行哈

有没有一种算法可以对两个数字产生相同的哈希值,而不管它们的顺序是什么

例如,散列
3268
2642
应产生与散列
2642
3268
相同的结果


这可能吗?

分别对这两个数字进行散列(使用您选择的整数对整数散列),然后对结果进行加法或异或运算。

当然,异或运算就是这样做的

 3268^2642 == 2642^3268

还有很多(加法、乘法,基本上是任何交换运算),但XOR通常用于哈希运算(因为很容易“取消哈希”)。

在对两个数字进行哈希运算之前,您可以对它们进行加法或XOR运算。

什么是“对两个数字进行哈希运算?”哈希函数通常只有一个输入,不是两个。有两个输入并不会使哈希函数变得更像哈希函数,它所需要的只是一个稳定的单一输出。但在哈希之前添加意味着有一些输入以简单的方式相关,它们给出相同的哈希值,例如(1234588273)和(1234688272)。你得到的对称性比要求的要多,过多的对称性在散列中是一件坏事。