什么是 UUID?
UUID(通用唯一标识符)是一个 128 位标签,格式为用连字符分隔成五组的 32 个十六进制数字,例如 550e8400-e29b-41d4-a716-446655440000。v4 UUID 是随机生成的,两个相同值被生成的概率极低。
UUID 在无法由中央机构分配 ID 的分布式系统中被广泛用作数据库主键、会话令牌和唯一标识符。本工具使用浏览器内置的 crypto.randomUUID(),具有密码学安全性。
在浏览器中即时生成随机 UUID v4 标识符。
UUID(通用唯一标识符)是一个 128 位标签,格式为用连字符分隔成五组的 32 个十六进制数字,例如 550e8400-e29b-41d4-a716-446655440000。v4 UUID 是随机生成的,两个相同值被生成的概率极低。
UUID 在无法由中央机构分配 ID 的分布式系统中被广泛用作数据库主键、会话令牌和唯一标识符。本工具使用浏览器内置的 crypto.randomUUID(),具有密码学安全性。
生成 UUID v4 时,用密码学随机值填满 128 位,再固定其中 6 个特定位来标记版本和变体,使整个值仍符合标准 UUID 格式。示例格式:550e8400-e29b-41d4-a716-446655440000,第二个连字符后紧跟的 "4" 始终标记版本 4。
| 分组 | 长度 | 示例片段 |
|---|---|---|
| time_low | 8 位十六进制数字 | 550e8400 |
| time_mid | 4 位十六进制数字 | e29b |
| version + time_hi | 4 位十六进制数字(以 4 开头) | 41d4 |
| variant + clock_seq | 4 位十六进制数字(以 8-b 开头) | a716 |
| node | 12 位十六进制数字 | 446655440000 |
UUID v4 有 122 个随机位(总共 128 位减去 6 个固定的版本/变体位),可能取值约为 5.3 × 10^36 种。即使每秒生成十亿个 UUID,连续生成十亿年,发生任何碰撞的概率仍然微乎其微,这也是 UUID 无需中央协调就能被视为事实上唯一的原因。
这个字符不是随机的——标准把它固定下来,用来标记该 UUID 是版本 4(随机生成),这样读取该 ID 的软件即使没有其他元数据,也能识别出是哪个版本和生成算法产生的。
GUID(全局唯一标识符)是微软对同一种 128 位标识符格式的叫法,该格式已被标准化为 UUID。这两个术语描述的是同一套底层结构,在实践中通常可以互换使用,只是部分微软的老旧工具在格式细节上略有不同。
当 ID 需要在多台服务器上独立生成、且不希望依赖单一自增计数器造成瓶颈时,UUID v4 表现很好。代价是随机 UUID 比整数占用更多空间,并且和顺序 ID 不同,在高并发写入场景下可能会影响某些数据库引擎的索引局部性。
本工具使用浏览器内置的 crypto.randomUUID() 生成版本 4(随机)UUID,该方法具备密码学安全性;它不生成其他版本的 UUID,例如基于时间戳的 v1 或基于名称哈希的 v5。
最后更新: 2026-08-17