跳到主要内容
Tooletto

批量 UUID 生成器

UUID 生成器 的预设方案

一次生成最多 1000 个 UUID,并下载为文本文件——适合给测试数据库填充种子数据、填充一套测试夹具,或者为一次导入预先分配标识符。

  • 文件永不离开你的设备
  • 免费,无需注册
  • 无水印
  • 加载后可离线使用
Loading tool…

如何UUID 生成器

  1. 1

    选择一个版本

    v4 适合通用随机 ID,v7 适合会作为数据库主键的 ID。

  2. 2

    设置生成数量

    一次生成从一个到一千个不等。

  3. 3

    复制或下载

    把列表复制到剪贴板,或下载为文本文件。

为什么批量生成比听起来更重要

生成单个 UUID 在任何地方都轻而易举,但一份真实的测试数据集、一个开发数据库的种子脚本,或者一批为导入任务预先分配的标识符,通常一次就需要几十个甚至几百个,而通过一个单值工具逐一生成,是拼凑出这种规模列表的一种确实很繁琐的方式。一次生成最多一千个,并下载为一份纯文本文件——每行一个——把一件原本重复的手动任务,变成了一步复制粘贴,直接用进一个种子脚本、一个测试夹具文件,或者一列电子表格。

为什么一批里的每一个值依然是各自独立唯一的

一次批量生成许多个 UUID,不会牺牲单个 UUID 所具备的任何抗碰撞性——列表里的每一个值都是从同一个密码学随机源独立抽取的,前后生成的值之间没有任何关联。一批一千个,不过是从同一个巨大的可能性空间里做了一千次独立抽取,而不是一千个共享某种结构、因而更容易被预测或彼此碰撞的值。

一批新的测试标识符的典型用途

种子脚本、测试夹具文件和集成测试,经常需要一批看起来真实、但完全是伪造的标识符来填充测试记录——一批预先生成好的一百个或一千个 UUID,直接粘贴进一个种子文件或电子表格的一列,往往比在填充脚本内部反复调用一个 UUID 生成函数更快,尤其是当同一套固定的 ID 需要在多次测试运行中被一致地重复使用时。

常见问题

UUID v4 和 v7 有什么区别?

v4 完全是随机的。v7 会把一个毫秒级时间戳放进它的前导比特里,所以后生成的 ID 排序会排在先生成的后面。两者在实际使用中都同样不可预测;v7 只是恰好同时具备了有序性。

数据库主键应该用哪一个?

用 v7。随机的 v4 主键会把插入操作分散到整个 B 树索引的各个位置,导致索引碎片化,在规模变大后显著拖慢写入速度。v7 主键会按顺序追加,所以插入操作能保持连续——这正是 v7 在 2024 年被标准化的原因。

两个 UUID 有可能相同吗?

在数学上可能,但实际上不会。一个 v4 UUID 有 122 个随机比特;你需要生成大约 2.7 × 10^18 个才会让碰撞变得有可能发生。作为对比,这个数字比地球上所有沙粒的数量还要多。

这些 UUID 生成得安全吗?

安全。它们使用的是 `crypto.getRandomValues`,也就是你操作系统的密码学随机源,而不是 `Math.random`。如果一个 UUID 会被用作某种能力令牌——一个分享链接、一个取消订阅的 URL、一个密码重置密钥——这一点就很重要。

UUID 和 GUID 是同一个东西吗?

是的。GUID 是微软对同一种 128 位标识符的叫法。你会遇到的唯一区别是格式:微软的工具经常会给它加上花括号并使用大写,这两种格式这个工具都能生成。