java - java中有内置的哈希实现吗?

标签 java hash

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

我几乎想将 6 个整数转换为字符串(就好像每个整数都是 unicode 字符或类似的东西,而不是将每个整数表示为实际数字)并使用“哈希码”,但这听起来效率很低对我来说,我想想要更快的东西。有什么想法吗?

谢谢。

最佳答案

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

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

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

我会选择 SHA-384 或更高版本。别忘了加盐。

关于java - java中有内置的哈希实现吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8145795/

相关文章:

java - 使用 java 分析线程转储

java - 如何使用 jsoup 选择除第一个和最后一个之外的所有子项(具有相同的标签。例如表)

python - 具有大文件系统支持的纯 Python 持久键和基于值的容器(类似哈希的接口(interface))?

c++ - 实现 std::hash<T> 时修改内部结构

Javascript Sha256 与 PHP Sha256 : Line breaks create different hash?

c - C 中的字符串/整数关联

Java使用索引来一一显示数组

java - 来自 Java 计时器的回调/事件

java 类级异常处理 - 在单个位置捕获所有方法的异常

algorithm - 使用多变量 key 散列访问时间