Spacebar Clicker Logo

Spacebar Clicker

RFC 4122 UUID创建器

UUID / GUID生成器

即时批量生成无碰撞的RFC 4122版本4 UUID,带导出选项。

生成的 UUID v4(版本 4 随机)
f47ac10b-58cc-4372-a567-0e02b2c3d479
Spacebar 或点击按钮生成 UUID
UUID 已复制到剪贴板!
🆔RFC 4122 / RFC 9562 与分布式系统工程指南

随机 UUID / GUID 生成器:RFC 4122 版本 4 在线生成工具与开发者参考

在现代软件工程、云计算、分布式微服务、RESTful API 以及关系型/NoSQL 数据库中,在没有中心同步机制的情况下分配抗碰撞的唯一键至关重要。我们的随机 UUID / GUID 生成器基于硬件级密码学安全的伪随机数生成器(通过 crypto.randomUUID()crypto.getRandomValues() 实现 CSPRNG),生成标准的 128 位RFC 4122 版本 4 UUID

按需生成单个 UUID,或批量导出最多 100+ 个唯一标识符。可选小写、大写(Windows GUID 风格)、标准 8-4-4-4-12 连字符格式、不带连字符的紧凑 32 位连续十六进制、花括号包裹({...})以及便于直接插入数组的引号字符串。按下Spacebar即时生成,零服务器遥测。

🛡️

CSPRNG 硬件熵

直接调用 Web Crypto API 获得 122 位真实熵,确保数学上的抗碰撞性。

密码学安全
📦

批量生成

一次生成 1 到 100+ 个 UUID,用于数据库种子脚本、SQL 模拟迁移和测试夹具。

批量开发者种子数据
⚙️

多格式输出

切换标准 8-4-4-4-12 连字符、大小写、Windows GUID 花括号 {GUID} 或干净的连续十六进制。

灵活的格式化
🔒

100% 客户端隐私

零网络请求、零遥测、零日志记录。你生成的标识符严格保留在浏览器内部。

零知识执行

🔬RFC 4122 版本 4 UUID 字符串的结构剖析

规范的 UUID 表示为 32 个十六进制数字,分为 5 组并由连字符分隔(含连字符共 36 个字符):

f47ac10b-58cc-4372-a567-0e02b2c3d479
第 1 组(8 个十六进制位)

32 位随机熵(v1 中的 time_low 字段)

第 2 组(4 个十六进制位)

16 位随机熵(time_mid 字段)

第 3 组(4 个十六进制位)

4 开头(UUID 版本 4)+ 12 位随机位

第 4 组(4 个十六进制位)

8、9、a 或 b 开头(RFC 4122 变体)+ 14 位随机位

第 5 组(12 个十六进制位)

48 位随机熵(node 节点标识字段)

📑UUID 版本对比与架构规范

版本生成机制主要用途安全与隐私特性
UUID v4(随机)122 位随机位 + 6 位版本/变体位数据库主键、API 令牌、会话 ID 的默认选择零数据泄露,最大熵
UUID v1(时间戳)60 位时间戳 + MAC 网络地址按时间排序的传统分布式节点会泄露 MAC 地址和精确的创建时间戳
UUID v5(命名 SHA-1)命名空间 UUID + 字符串哈希(SHA-1)基于 URL / 名称的确定性 ID 生成确定性(相同输入始终产生相同 UUID)
UUID v7(按时间排序)Unix 毫秒时间戳 + 随机位B-tree 数据库索引(PostgreSQL、MySQL)高局部性,按时间顺序索引排序

💻如何在现代编程语言中生成 UUID v4

JavaScript / TypeScript(浏览器及 Node 16+)const id = crypto.randomUUID();
Python 3import uuid; id = str(uuid.uuid4())
C# / .NETGuid id = Guid.NewGuid();
Go (Golang)import "github.com/google/uuid"; id := uuid.New().String()
PostgreSQL (SQL)SELECT gen_random_uuid();
Rustuse uuid::Uuid; let id = Uuid::new_v4();

常见问题

UUID v4 发生碰撞的确切数学概率是多少?

凭借 122 位纯密码学熵,UUID v4 共有 2^122(约 5.3 × 10^36,即 5.3 十万亿亿)种可能组合。要达到 50% 的重复碰撞概率,你需要生成约 2.71 quintillion(2.71 × 10^18)个 UUID。即使以每秒 10 亿个的速度连续生成 85 年,碰撞几率也低于十亿分之一。

UUID 和 Microsoft GUID 有什么区别?

UUID(通用唯一标识符)和 GUID(全局唯一标识符)指的是完全相同的 128 位 RFC 4122 / ITU-T 标准。“GUID”一词最初由 Microsoft 在 COM/ActiveX 中提出,且通常以大写加花括号的形式书写(例如 {D3B07384-D113-40B3-8C7C-482A688B1B36}),而 Unix 和开源生态系统则更倾向于小写的“UUID”。

8-4-4-4-12 结构中的 4 和变体位代表什么?

在任何有效的 UUID 字符串 xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx 中,M 位置(第 13 个十六进制字符)表示 UUID 版本(对于 v4,它始终是 4);N 位置(第 17 个十六进制字符)编码 RFC 4122 变体位(二进制为 10xx,对应的十六进制字符为 8、9、a 或 b)。

可以把 UUID v4 用作 PostgreSQL、MySQL 和 SQLite 的数据库主键吗?

可以!UUID v4 被广泛用作主键,因为它允许客户端或分布式节点独立生成 ID,而不会在集中式自增计数器上产生锁争用。在高写入负载且担心 B-Tree 索引碎片化的场景下,现代应用还会将 UUID v4 与 UUID v7 搭配使用,以实现按时间的顺序聚簇。

什么是 Nil UUID,什么时候会用到它?

Nil(空)UUID 是一种保留的特殊 128 位标识符,其所有位均为 0(00000000-0000-0000-0000-000000000000)。在软件 API 和数据库外键中,它通常被用作占位符,表示未赋值、空缺或默认的实体引用。

生成的 UUID 可以安全地用在公开 URL 中吗?

可以。由于 UUID v4 不包含任何个人身份信息(不同于会泄露 MAC 地址和时间戳的 UUID v1),也无法像整数 ID 那样被顺序枚举(例如 /user/101/user/102),它能保护 Web 应用免受不安全的直接对象引用(IDOR)爬取攻击。

这个生成器的空格键快捷方式是怎么工作的?

按下空格键会立即生成一个新的 UUID 或一批 UUID。你可以点击主 UUID 显示框或复制按钮,将值直接传送到操作系统剪贴板。

这款在线 UUID 生成器完全私密且安全吗?

是的,百分之百。所有 UUID 生成过程都通过 Web Cryptography API 在你的本地浏览器中完全于客户端运行。不会有任何数据通过互联网传输,也不会保存到服务器日志中,完全满足企业和安全敏感工作流程的合规要求。