gpt4 book ai didi

java - Java中如何生成固定长度的唯一标识符?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:52:15 26 4
gpt4 key购买 nike

我正在尝试生成固定长度的唯一标识符,例如 Megaupload 为上传的文件生成的 ID。

例如:

  • ALGYTAB5
  • BCLD23A6

在此示例中,使用 A-Z 和 0-9,固定长度为 8,不同的组合总数为 2,821,109,907,456。

如果生成的 ID 之一已被占用怎么办。这些 ID 将存储在数据库中,不应多次使用。

我如何在 Java 中实现它?

谢谢。

最佳答案

嗯...您可以通过以下方式模仿较小的 GUID。将字符串的前 4 个字节作为编码的当前时间 - 在 Unix 之后经过的秒数。最后 4 个只是随机组合。在这种情况下,两个 ID 重合的唯一方法是它们是在同一秒构建的。由于其他 4 个随机字符,这种情况的可能性非常低。

伪代码:

get current time (4 byte integer
id[0] = 1st byte of current time (encoded to be a digit or a letter)
id[1] = 2nd
id[2] = 3rd
id[3] = 4th
id[4] = random character
id[5] = random character
id[6] = random character
id[7] = random character

关于java - Java中如何生成固定长度的唯一标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6584484/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com