DevTool 团队

测试数据要唯一 ID:UUID 生成器怎么选、v4 还是 v7

造测试数据、建表主键、写事件 ID 都绕不开 UUID。这篇讲 UUID v4 与 v7 怎么选、GUID 和 UUID 什么关系,并诚实对比 iLoveDevTool 的在线 UUID 生成器与 uuidgenerator.org:批量、格式、本地生成各自的取舍。

什么时候需要一个 UUID 生成器

给测试数据造假的主键、给新表定主键类型、给事件流编一个不冲突的 ID、在分布式服务之间传一个不依赖中心发号的标识——这些场景的共同点是:你需要一串「几乎不可能重复」的标识符,而且现在就要。

UUID(通用唯一标识符)就是这件事的标准答案。128 位、有成熟的格式规范(RFC 4122 与 2024 年的 RFC 9562),几乎所有语言的标准库都能生成。在线生成器的价值在于:不用写代码就能拿到一批,还能按目标系统的习惯切换格式。

v4 还是 v7:一句话选法

  • v4:122 位加密安全随机。你在大资料、老系统、别人的框架里看到的 UUID 十有八九是 v4。不确定就用它。
  • v7:前 48 位是毫秒级 Unix 时间戳,其余随机。它按时间有序——做 MySQL/PostgreSQL 主键时索引顺序插入而不是随机打散,做事件 ID 时天然可排序。新项目值得优先考虑。

一个冷知识:v7 的前 48 位就是毫秒级时间戳,把一个 v7 的前 12 个十六进制字符按整数读出来,就是它生成的时刻,可以直接用 Unix 时间戳转换器核对。

iLoveDevTool 的在线 UUID 生成器

我们的在线 UUID 生成器把常用需求做直接:

  • v4、v7、nil 三种版本:v7 在同一毫秒内严格递增,批量结果可直接作有序测试数据;
  • 一次最多 1000 个:整批复制为换行纯文本或 JSON 数组,粘进测试代码即用;
  • 格式随切:大写、去连字符、花括号(GUID 写法)三个开关,满足 Windows、Java、PostgreSQL 各自的书写习惯;
  • 全部本地生成:随机数来自浏览器的加密安全接口,不联网、不上传。

和 uuidgenerator.org 比怎么样

uuidgenerator.org 是这个品类最老牌的站点,值得尊重,也值得诚实对比:

维度 uuidgenerator.org iLoveDevTool
版本 单一格式(未标注版本) v4 / v7 / nil 明确可选
批量 逐个生成 1 到 1000 个一次生成
格式选项 固定小写连字符 大写 / 连字符 / 花括号可切
界面语言 英文 中文优先,覆盖 20 种语言
历史沉淀 十几年心智份额,搜索结果常青 新工具,胜在轻与快

老站的优势是「搜一下就能找到」的心智份额;功能维度上,我们的生成器在版本、批量与格式三项都更全。

常见问题

uuidgenerator.org 是免费的吗?

是。uuidgenerator.org 的生成器免费可用,无需注册。它的界面是英文的,批量与格式选项较基础;iLoveDevTool 的 UUID 生成器同样免费,并提供 v7、1000 个批量、大小写/连字符/花括号格式切换与中文界面。

UUID v4 和 v7 应该用哪个?

不确定就用 v4:它是绝大多数数据库与框架的默认值,兼容性最好。v7 带 48 位毫秒时间戳前缀、按时间有序,做主键时索引不会被打散,日志与事件流排序更直观,适合新建表与事件 ID。存量 v4 系统不需要迁移。

GUID 和 UUID 是同一个东西吗?

是。GUID 是微软对 UUID 的叫法,RFC 4122 之后两者等价。Windows 生态常见的带花括号大写写法,只是格式差异,用生成器的大写与花括号选项就能得到。