请使用apache commons的 RandomStringUtils 找到以下用于生成随机字符串的代码。
String key = RandomStringUtils.random(5, String.valueOf(System.currentTimeMillis()));
我将密钥限制为5个字符。我的目的是在我向DB插入新记录时为每条记录生成唯一键。以上代码是否适合相应的任务,我可以放心,每次插入新记录时,我都会从上面的代码中获得一个唯一的密钥。
答案 0 :(得分:6)
随机的字符串序列总是有可能重复,否则它不是真正随机的。 RandomStringUtils
并不是随机的,但它试图尽可能接近随机,这似乎与你的目标相反。如果你必须使用随机生成的密钥,那么你至少应该使用java.util.UUID.randomUUID,因为这是以这种方式使用的。
您可能会发现此链接很有趣:Generating unique IDs
答案 1 :(得分:2)
不,随机并不意味着独特。您可以尝试使用UUID生成唯一键。
答案 2 :(得分:0)
您可以使用RandomStringUtils执行此操作,但您还必须在尝试插入之前测试该ID。
如果是,转到1 如果没有插入ID
UUID很长,可能不是你想要的。