为系统生成唯一ID(可重现)

时间:2012-05-16 09:36:56

标签: java uuid

我正在寻找一种为系统生成唯一ID的方法,这样,每次生成此ID时,它应该与系统上的ID一样长。 (我不确定这是否可能) 我使用Java来实现这一点,并且应该在Windows和Unix(Linux)上运行

在花了一些时间搜索各种文章后,如果找到一些好的解决方案,但每个都有自己的局限性。以下两个选项非常接近。

  1. 在Java中使用UUID包:这给出了唯一的ID,其中碰撞可能是无穷小的,但我没有为系统获得相同的唯一ID。
  2. 使用系统的mac地址:我怀疑这适用于虚拟主机。
  3. 有人建议吗?

1 个答案:

答案 0 :(得分:0)

生成UUID,并将128位或其十六进制字符串表示保存到存储。稍后从存储中读取以发现您之前写的价值。

捆绑的类java.util.UUID可以生成版本3或版本4 UUID。其他库可以生成其他版本。