第 4 版就是纯随机
v4 UUID 是 122 个随机位,另有六位用来标记版本和变体。里面既不含时间也不含机器信息——正因如此,两套系统才能各自独立生成,事先不必约定任何事。
为什么不用担心撞号
122 个随机位意味着,要让重复变得可能,你得每秒生成十亿个 UUID 连续生成一个世纪。这里的随机数来自浏览器的密码学随机源,不是 Math.random。
广告
顺便看看 — 加密货币交易所注册福利
其他计算器
常见问题
Q. 可以拿来当数据库主键吗?
可以,不过随机主键会把写入分散到整个索引上。如果插入吞吐量要紧,可以看看 UUIDv7 或者别的可排序方案。
Q. 大小写有区别吗?
没有。UUID 不区分大小写;小写是惯例,多数库输出的也是小写。
Q. 随机数从哪来?
浏览器的 crypto.getRandomValues——和生成密钥用的是同一个源,不是较弱的 Math.random。