Java 使用apache commons的RandomStringUtils生成唯一密钥

Java 使用apache commons的RandomStringUtils生成唯一密钥,java,jakarta-ee,apache-commons,hashcode,Java,Jakarta Ee,Apache Commons,Hashcode,请查找我使用ApacheCommons的RandomStringUtils生成随机字符串的以下代码 String key = RandomStringUtils.random(5, String.valueOf(System.currentTimeMillis())); 我将密钥限制为5个字符。我的目的是在将新记录插入数据库时为每个记录生成唯一的键。上述代码是否适用于相应的任务,并且我是否可以保证每次插入新记录时都会从上述代码中获得唯一的密钥。随机字符串序列始终有可能重复,否则它就不是真正的随

请查找我使用ApacheCommons的RandomStringUtils生成随机字符串的以下代码

String key = RandomStringUtils.random(5, String.valueOf(System.currentTimeMillis()));

我将密钥限制为5个字符。我的目的是在将新记录插入数据库时为每个记录生成唯一的键。上述代码是否适用于相应的任务,并且我是否可以保证每次插入新记录时都会从上述代码中获得唯一的密钥。

随机字符串序列始终有可能重复,否则它就不是真正的随机序列
RandomStringUtils
并不是真正的随机,但它试图尽可能地接近随机,这似乎与您的目标背道而驰。如果必须使用随机生成的密钥,那么至少应该使用,因为这样做是为了使用


你可能会发现这个链接很有趣:

不,随机并不意味着唯一。您可以尝试使用UUID生成唯一的密钥。

您可以使用RandomStringUtils,但是您还必须在尝试插入id之前测试id

  • 产生
  • 它已经存在了吗
  • 如果是,转到1 如果没有插入id


    UUID很长,可能不是您想要的。

    random!=独一无二。如果您想使用唯一的UUID