UUID 生成器
以小写或大写生成随机 UUID v4 字符串 — 全程在浏览器中完成。
选项
结果
什么是 UUID?
UUID(通用唯一标识符)是一种由 RFC 4122 标准化的 128 位标识符,在没有任何中心协调的情况下几乎可以保证唯一。它由 32 个十六进制数字组成,用连字符分成五段,例如 550e8400-e29b-41d4-a716-446655440000。由于 128 位提供了约 3.4 × 10^38 种可能值,两个独立生成的 UUID 发生碰撞的概率微乎其微——你需要每秒生成数十亿个 UUID,持续数百万年,才可能看到一次重复。
UUID 是分布式系统、数据库和 API 的基石。它让独立的机器在不必联系中心机构的情况下创建标识符,因此非常适合离线优先应用、多区域数据库、消息队列以及任何需要全局唯一键却无法承受协调往返延迟的场景。
UUID 版本详解
RFC 4122 定义了多个 UUID 版本,每个版本由不同的唯一性来源生成。目前最常用的是版本 4,也就是本工具生成的版本:
- 版本 1(基于时间)。由当前时间戳和机器的 MAC 地址构建。具有顺序性,但会泄露主机的网络身份。
- 版本 3(名称 + MD5)。确定性:相同的命名空间和名称始终通过 MD5 哈希生成相同的 UUID。
- 版本 4(随机)。128 位中有 122 位填充了加密安全的随机数据。这就是大多数开发者所说的"一个 UUID"。
- 版本 5(名称 + SHA-1)。类似于版本 3,但使用 SHA-1 代替 MD5;在涉及安全时优于 v3。
- 版本 7(时间排序,2022)。结合毫秒时间戳和随机位,使 UUID 可按创建时间排序——对数据库索引很有用。
本生成器生成版本 4 UUID,因为它是最安全的默认选择:无需网络访问,不泄露主机信息,且随机性足以直接用作主键、请求 ID 和会话令牌。
何时使用 UUID 生成器
UUID 出现在大量实际场景中。最常见的包括:
- 数据库主键。用 UUID 代替自增整数,这样不同分片上创建的行永远不会冲突。
- API 请求 ID。为每个请求附加一个 UUID,以便客户端和服务端在日志和服务间追踪事务。
- 会话和令牌生成。发放随机 UUID 作为会话 ID、密码重置令牌和一次性链接。
- 文件和资源命名。为上传的文件赋予基于 UUID 的名称,以避免冲突和路径猜测。
- 分布式消息。为队列或事件总线中的事件打上 UUID 标签,使消费者能可靠去重。
- 测试夹具。在填充测试数据库或模拟 API 响应时快速生成标识符。
任何需要全局唯一标签却无法依赖中心机构的地方,UUID 都是标准答案。
UUID 与 GUID 的区别
UUID 和 GUID 是同一概念的两种叫法。GUID(全局唯一标识符)是微软的术语,因 Windows COM 生态系统和 .NET 框架而普及,而 UUID(通用唯一标识符)是 IETF 在 RFC 4122 中使用的名称。二进制布局完全相同:128 位,带有相同的版本和变体字段。在 Windows 上生成的 GUID 和在 Linux 上生成的 UUID 可以直接比较,并遵循相同的字符串格式——32 个十六进制数字用连字符分隔。
唯一的实际区别是外观上的。微软工具有时会用花括号包裹 GUID(如 {550e8400-e29b-41d4-a716-446655440000}),并可能使用大写字母,而 RFC 和大多数 Unix 工具更倾向于不带括号的小写形式。如果需要匹配微软格式,可将本生成器切换为大写并自行用花括号包裹输出——底层的字节是完全相同的。
如何生成 UUID
使用本工具生成 UUID 只需一秒,且全程在你的浏览器中完成。无需上传、无需注册、无需安装。按以下三步操作:
- 选择数量和大小写。从 1 到 10 中选择数量,并选择小写或大写输出。
- 生成。点击"生成"以产生全新的 UUID。每次点击都会创建全新的随机值。
- 复制。点击"复制"将 UUID 复制到剪贴板,或点击"清空"清除输出重新开始。
由于每个 UUID 都是在你自己的设备上通过 JavaScript 本地生成,并使用浏览器的加密随机源,因此你的标识符永远不会离开浏览器。这使得本工具完全私密,可安全用于会话令牌、请求 ID 和其他敏感值。
这个 UUID 生成器免费吗?
是的,完全免费,无需注册、无水印,除设备内存外没有其他限制。
生成的 UUID 是真正的随机吗?
本工具优先使用 crypto.randomUUID(),并回退到 crypto.getRandomValues 从 16 个加密安全的随机字节构建版本 4 UUID,因此输出适合用作会话令牌和主键。
我的 UUID 会被上传吗?
不会。所有生成过程均在本地完成。你的 UUID 永远不会离开浏览器,因此可安全用作标识符和令牌。
UUID 碰撞的概率有多大?
版本 4 UUID 有 2^122 种可能值。即使在生成 103 万亿个 UUID 之后,出现单次碰撞的概率仍约为十亿分之一——在实际使用中几乎为零。