跳转到主要内容
← 首页

UUID v1 生成器

生成基于时间戳的第 1 版 UUID

什么是 UUID v1?

v1 UUID 包含 60 位时间戳(自 1582 年 10 月 15 日起的 100 纳秒间隔数)、时钟序列和节点 ID。本生成器使用随机节点 ID,而不是您的 MAC 地址。时间戳字段低位在前存储,因此 v1 字符串不会按时间排序:需要可排序的 ID 请用 v7,只有在 Cassandra 的 timeuuid 等系统要求时才用 v1。

示例

UUID v1 —— 第 13 位数字(版本号)始终是 1
6ba7b810-9dad-11d1-80b4-00c04fd430c8
用 Python 生成
import uuid
uuid.uuid1()

常见问题

UUID v1 会暴露我的 MAC 地址吗?

传统的 v1 实现会嵌入网卡的 MAC 地址,可能借此识别出具体机器。本生成器使用随机节点 ID,因此不会暴露任何硬件地址。不过,任何 v1 UUID 的创建时间仍然可以被读取出来。

能从 UUID v1 中获取创建时间吗?

可以。时间戳存储在 time_low、time_mid 和 time_hi 字段中,因此可以解码出精确到 100 纳秒的创建时间。

选 UUID v1 还是 UUID v7?

新系统优先选 v7:它同样包含时间戳,但天然有序,而且不含节点标识。只有出于兼容性考虑时才选 v1。

相关工具