使用Java的唯一用户ID

使用Java的唯一用户ID,java,Java,如何生成5/6位的字母数字唯一用户ID,以减少与Java冲突多达10个lac值的可能性?我不想每次都调用DB以检查该ID是否已经存在。您可以生成整个实体的哈希代码。 根据您选择的散列算法,例如SHA1,冲突非常罕见。如果您的用户不提供任何其他信息,例如真实姓名、电子邮件地址等。。。你必须用一个纯粹的随机字符串作为用户名来试试运气。生成随机字符串的一个选项是of 导入org.apache.commons.text.RandomStringGenerator; ... RandomStringGen

如何生成5/6位的字母数字唯一用户ID,以减少与Java冲突多达10个lac值的可能性?我不想每次都调用DB以检查该ID是否已经存在。

您可以生成整个实体的哈希代码。
根据您选择的散列算法,例如SHA1,冲突非常罕见。

如果您的用户不提供任何其他信息,例如真实姓名、电子邮件地址等。。。你必须用一个纯粹的随机字符串作为用户名来试试运气。生成随机字符串的一个选项是of

导入org.apache.commons.text.RandomStringGenerator; ... RandomStringGenerator RandomStringGenerator=新建RandomStringGenerator.Builder
.filteredByc->Character.IsleterOrdigitc&&c如果你想让它们保持持久性,即在应用程序重启后生存,你需要使用外部源或依赖SecureRandom之类的东西。另一个受以下答案启发的选择是使用来自用户的唯一信息,如电子邮件和哈希itI,我想将其用作用于登录应用程序的用户ID。据你所说,安全随机的东西将适合我。如果你能提供一个链接,我可以从那里了解更多信息。你可以拥有你的数据库。或者,请参见什么是“lac值”?