是否可能连续创建两个重复的UUID?我不熟悉UUID的生成方式,但我猜想如果您在同一毫秒内使用相同的MAC地址创建了两个单独的UUID,则它们将完全相同。这是真的吗?
我想我在一个问题中问了两个问题。我非常想知道用于生成随机UUID的参数是什么。我猜测它不仅仅是时间戳和MAC地址。
是否可能连续创建两个重复的UUID?我不熟悉UUID的生成方式,但我猜想如果您在同一毫秒内使用相同的MAC地址创建了两个单独的UUID,则它们将完全相同。这是真的吗?
我想我在一个问题中问了两个问题。我非常想知道用于生成随机UUID的参数是什么。我猜测它不仅仅是时间戳和MAC地址。
random.randrange(1<<14L)
,因此您将获取纳秒级时间戳以及从1
到16384
的随机数,所以...我猜这是可能的,但极不可能发生。UUIDv3
、UUIDv4
和我的选择UUIDv5
。
uuid.uuid1
->UUIDv1
接受node
和clock_seq
作为参数。如果未提供clock_seq
,它将生成一个随机数clock_seq = random.randrange(1<<14L)
,该随机数范围是1..16384
。然后它产生clock_seq_low = clock_seq & 0xffL
和clock_seq_hi_variant = (clock_seq >> 8L) & 0x3fL
,以传递给UUID生成器。如果提供了'clock_seq',则它将用作序列号;否则将选择一个随机的14位序列号。 - bnlucasuuid.uuid1
时,通常只需调用uuid.uuid()
,因为node
和clock_seq
是可选的。 - bnlucas