UUID 生成器(v4、v7、v1)

批量生成符合 RFC 9562 的 UUID:随机 v4、按时间排序的 v7、时间戳 v1,以及 Nil 和 Max。可选大写、大括号或去掉连字符,使用 crypto.getRandomValues。

最多 1000

输出

122 位随机数来自 crypto.getRandomValues,碰撞概率可以忽略不计。

什么是 UUID 生成器?

UUID(通用唯一标识符)是一个 128 位的 ID,写成 32 个十六进制数字,格式为 8-4-4-4-12。这个工具遵循 RFC 9562,一次最多可生成 1,000 个 版本 4(随机)、版本 7(按时间排序)、版本 1(时间戳)的 UUID,或特殊的 Nil 和 Max 值。

如何使用 UUID 生成器

  1. 选择 版本(通常选版本 4;数据库主键用版本 7)。
  2. 设置需要的 数量。
  3. 按需勾选 大写、取消勾选 连字符,或勾选 用大括号 { } 包裹。
  4. 点击 重新生成 获取新一批,然后复制或下载列表。

示例

输入
Version 7, How many 2
输出
01a16811-eb97-7688-838a-aa989505507e
01a16811-eb97-7689-a2db-f00f7ac48f06

两者的毫秒时间戳开头相同;计数器使第二个排在第一个之后。你的值会不同。

何时使用 UUID 生成器

通用的唯一 ID(API 资源、文件名、关联 ID)请使用 v4。数据库主键请使用 v7,因为按时间排序的值能让 B 树索引更紧凑。除非某个系统要求,否则避免使用 v1,并且绝不要把 UUID 当作密钥或访问令牌:它们是唯一的,但不是保密的。

UUID 生成器 的工作原理

v4:来自 crypto.getRandomValues 的 16 个随机字节;版本半字节设为 4,两个变体位设为 10,剩下 122 位随机数。v7:前 48 位是以毫秒计的当前 Unix 时间(大端序),其后是版本号、12 位计数器(因此同一毫秒内生成的 UUID 仍能按顺序排序)和 62 位随机数。v1:自 1582 年 10 月 15 日起以 100 纳秒为单位的 60 位计数、14 位时钟序列和 48 位节点 ID;工具使用设置了组播位的随机节点(RFC 9562 允许),而不是你的 MAC 地址。v1/v7 中嵌入的时间戳会被解码并显示在列表下方。

常见用例

  • 为数据库行或测试夹具创建主键
  • 为日志生成请求 ID 或关联 ID
  • 给上传的文件命名并避免冲突
  • 用唯一标识符填充模拟数据

常见问题

两个 UUID v4 会冲突吗?

理论上会,实际上不会:有 122 位随机数,要生成约 2.7 × 10^18 个 UUID,才有 50% 的概率出现一个重复。

UUID v4 和 v7 有什么区别?

v4 完全随机。v7 以时间戳开头,因此后生成的值排在先生成的值之后,这对数据库索引更有利,也能读出创建时间。

UUID 和 GUID 一样吗?

一样。GUID 是微软对同一种 128 位格式的称呼。需要注册表大括号等 Windows 专用格式时,请使用 GUID 生成器。

v1 会泄露我的 MAC 地址吗?

这里不会。节点字段由随机字节填充,并设置了组播位以表示它不是硬件地址。

推荐的下一步

探索更多分类