使用方法
- 设置生成数量,最多 100 个。
- 选择格式:标准、大写、无连字符,或加花括号。
- 点重新生成换一批,或用全部复制取走。
- 底部可以粘贴任意 UUID 做校验,并读出它的版本号。
关于 UUID
UUID 是一个 128 位的标识符,设计目标是在没有中心机构分配号码的情况下保证唯一。这个特性 就是它存在的全部意义:两个从未通信过的系统各自生成标识符,日后合并数据时也不会撞车,因为 碰撞概率可以忽略不计。
v4——也就是这里生成的这种——靠的是「几乎全随机」来实现这一点。128 位里有 6 位花在版本号和
变体字段上,这就是为什么你会看到第二个连字符后固定是 4、第三个连字符后必是 8/9/a/b。
剩下的 122 位是纯随机。
真正值得在意的是这份随机性的质量。 Math.random() 是伪随机生成器,它的输出可以从先前的
值推算出来;用它生成会话令牌或密码重置链接是实打实的安全漏洞。本工具使用的
crypto.getRandomValues() 取自操作系统的密码学熵池,不可预测。
还有一个实际的注意点:v4 UUID 没有顺序。相隔一秒生成的两个,和相隔几年生成的两个,排序上 一样毫无关联——而这恰恰是按主键顺序插入的数据库索引最不想要的。v7 版本把时间戳放在高位来恢复 这种局部性,同时保留唯一性保证,对于写入压力大的新表结构,它是更好的默认选择。