← 首页

🆔 UUID 生成器

即时生成随机 version 4 UUID。

这是什么工具?

UUID 生成器是一款免费的在线工具,只需一键即可创建通用唯一标识符(UUID)。UUID 是 128 位的数字,用于在计算机系统、数据库和分布式应用中唯一标识信息,而无需中央协调机构。 UUID(通用唯一标识符),在 Microsoft 生态系统中也称为 GUID(全局唯一标识符),是一个 36 字符的字符串,格式为五组以连字符分隔的十六进制数字:xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx。M 表示版本(随机 UUID 为 4),N 编码变体。version 4 拥有 122 位的随机性,两个生成的 UUID 相同的概率微乎其微,使碰撞实际上不可能发生。 UUID 在现代软件开发中无处不在:作为数据库主键、会话标识符、API 令牌、文件名称、消息 ID 等。它们消除了对中央 ID 机构的需求,非常适合分布式系统。此生成器使用您浏览器的安全随机数生成器创建密码学安全的 version 4 UUID,可以一次生成单个 UUID 或数千个批量 UUID。

运作原理

此生成器创建 version 4 UUID,这种 UUID 的大部分使用随机位。它使用浏览器的 crypto.getRandomValues() 函数,该函数从操作系统的熵池提供密码学安全的随机数。 version 4 UUID 的格式为:xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx,其中 x 是随机十六进制数字(0-9、a-f),y 是 8、9、a 或 b 其中之一。位置 13 的“4”标识为 version 4,y 值(以 8、9、a 或 b 开头)标识 RFC 4122 变体。其余 122 位是随机生成的,提供 2¹²² 种可能的 UUID。 碰撞概率极低,在所有实际应用中都可以忽略。要有 50% 的概率发生单次碰撞,您需要生成约 2.71 京个 UUID。即使每秒生成十亿个 UUID 持续 85 年,碰撞概率仍然微不足道。此生成器可以生成大写或小写的 UUID,可包含或不包含连字符,并支持可配置数量的批量生成。
Ad

使用方法

  1. 设置要生成的 UUID 数量。
  2. 选择格式选项(大小写、连字符)。
  3. 点击“生成”创建 UUID。
  4. 复制单个 UUID 或一次复制全部。
  5. 在您的项目中将它们用作唯一标识符。

常见问题

常见问题

UUID 用于什么?
UUID 用作数据库(主键)、分布式系统(消息/事件 ID)、API(请求跟踪)、文件存储(唯一文件名称)等需要唯一引用而无需中央 ID 机构的场合的唯一标识符。

生成的 UUID 真的是唯一的吗?
version 4 UUID 拥有 122 位的随机性,使碰撞极不可能发生。即使生成 103 万亿个 UUID,碰撞概率仍不到十亿分之一。在所有实际应用中,它们是唯一的。

UUID 和 GUID 有什么区别?
它们本质上是相同的东西。UUID 是 RFC 4122 标准名称,而 GUID 是 Microsoft 对相同概念的名称。格式和用途完全相同。GUID 通常用大括号书写,但底层数据是相同的。

生成的 UUID 是密码学安全的吗?
是的。此生成器使用 crypto.getRandomValues(),从操作系统提供密码学安全的随机数。生成的 UUID 适用于安全敏感的应用,如会话令牌和 API 密钥。

技巧与建议

UUID 解决了在系统之间无需协调即可生成唯一标识符的问题。version 4(随机)是一般使用中最常见的,因为它不需要状态,可以在任何地方生成。version 1(基于时间和 MAC 地址)在您需要可排序的 ID 时很有用,但会泄露生成机器的 MAC 地址。version 3 和 5(基于名称和哈希)从名称字符串生成确定性的 UUID,在相同输入应始终生成相同 UUID 时很有用。对于数据库主键,UUID 避免了顺序整数猜测的漏洞,并自然适用于分布式数据库。在 URL 中使用 UUID 时,请考虑省略连字符或使用 base62 编码来缩短它们。对于安全敏感的 UUID,请始终使用 crypto.getRandomValues(),而不是 Math.random()。

相关工具

Ad