UUID 看似神秘,结构却很清晰。它由 128 位二进制构成,以 8-4-4-4-12 的十六进制形式呈现,其中第 13 位十六进制数字(即第三组的首位)标明“版本号”。
常见版本
- v1:时间戳 + 机器 MAC 地址生成,可排序但可能泄露设备信息。
- v4:随机生成,最常用,不暴露任何时间或机器信息。
- v7:时间戳 + 随机数,新版推荐,兼具唯一性与可排序性。
v4 是怎么生成的
生成器取 122 位密码学安全的随机数据,再把其中 6 位固定为版本和变体标识,最后按格式拼装:版本位固定为 4,变体位通常为 8、9、a 或 b。这样得到的 UUID 几乎不可预测、不可枚举,重复概率极低。
为什么在线生成器能保证质量
现代浏览器内置了密码学安全的随机数接口,在线生成器直接调用它取随机位,因此质量与本地程序生成没有差别。
理解这套机制,就知道为什么 UUID 能放心当全局唯一标识用。