🆔 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,可包含或不包含连字符,并支持可配置数量的批量生成。使用方法
- 设置要生成的 UUID 数量。
- 选择格式选项(大小写、连字符)。
- 点击“生成”创建 UUID。
- 复制单个 UUID 或一次复制全部。
- 在您的项目中将它们用作唯一标识符。
常见问题
常见问题
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()。