java中是否有内置的哈希实现?

时间:2011-11-16 02:10:47

标签: java hash

我有一个6个整数的数组,我有兴趣获得(一个int)的哈希值。 我想知道在这种情况下是否存在一个相对强大且快速的哈希函数,它是用Java实现的。

我几乎试图将6个int转换为String(就好像每个int都是unicode字符或类似的东西,而不是将每个int表示为实际数字)并使用“hashcode”,但听起来非常低效对我而言,我认为想要更快的东西。有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:4)

int[] myIntArray = {1, 2, 3, 4, 5};
int myHashCode = Arrays.hashCode(myIntArray);

注意:数组已为所有基本类型的数组实现hashCode(),而不仅仅是整数。

另外,有些东西告诉我你将使用6个数字的序列作为密码,并使用它的哈希来匹配它。在这种情况下,您将需要一个非常非常长的哈希。至少24字节长的东西,而不是int给你的4。 (具有比输入空间更大的哈希空间将减少冲突。)

我会选择SHA-384或更高版本。不要忘记加盐。