【发布时间】:2010-12-19 14:54:33
【问题描述】:
我从docs.了解两者的区别
uuid1():
根据主机 ID、序列号和当前时间生成 UUID
uuid4():
生成随机 UUID。
所以uuid1 使用机器/序列/时间信息来生成 UUID。各自使用的优缺点是什么?
我知道uuid1() 可能存在隐私问题,因为它基于机器信息。我想知道在选择其中一个时是否有更微妙的地方。我现在只使用uuid4(),因为它是一个完全随机的 UUID。但我想知道我是否应该使用uuid1 来降低碰撞风险。
基本上,我正在寻找人们关于使用一种与另一种的最佳实践的提示。谢谢!
【问题讨论】:
-
这是 UUID 的另一种方法。虽然碰撞的机会是无限小的 UUID 并不能保证唯一性。为了保证唯一性,您可能希望使用复合键作为 [
, ]。参与数据共享的每个系统都必须有自己的系统唯一 ID,或者在系统设置期间分配,或者从公共 ID 池中获得。本地 ID 是任何特定系统中的唯一 ID。这涉及更多麻烦,但保证了唯一性。抱歉跑题了,只是想帮忙。 -
不关心他提到的“隐私问题”