java - 生成更大的 HashCode JAVA

标签 java hashcode hash-code-uniqueness

众所周知,Java 会生成大约 40 亿个唯一的哈希码。

我正在使用一些字符串的哈希码(示例 Fname + Lname + DOB + DATE),它成为我的数据库的主键

在@PrePersist中,我使用哈希码设置它,这有助于我为新用户生成哈希码。 (必须是唯一的)。

现在我的代码已经用完了。对我来说可能的替代方案是使用 SHA-2 、 MD5 等。

如何增加哈希码的大小并避免大的冲突。

最佳答案

如果您的目标是为数据库创建唯一标识符,我建议使用 UUID

UUID Version 3 ,因为它使用命名空间,因此适合您的情况。

某些数据库本身支持 UUID,例如 PostgreSQL

关于java - 生成更大的 HashCode JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42838308/

相关文章:

java - 如何使用 junit 和 Eclemma 提高测试覆盖率?

java - 从 Java 在浏览器中打开 html。浏览器未启动时出现错误?

java - 为什么 String 的 hashCode() 不缓存 0?

java - java(windows平台)中两个Integer解析为相同的hashcode

Point 类的 Java hashCode

java - 具有 HashMap 支持的 contains() 方法的 Set 的准确性?

java - 在碰撞检测中获取 java.util.ConcurrentModificationError

java - 什么必须是 Java 中空对象的哈希码?

c# - 在字符串上调用 GetHashCode() 时得到重复值的概率

java - 我如何在Java中进行定时器登录并分析结果?