批量 UUID 生成器
UUID 生成器 的预设方案
一次生成最多 1000 个 UUID,并下载为文本文件——适合给测试数据库填充种子数据、填充一套测试夹具,或者为一次导入预先分配标识符。
- 文件永不离开你的设备
- 免费,无需注册
- 无水印
- 加载后可离线使用
如何UUID 生成器
- 1
选择一个版本
v4 适合通用随机 ID,v7 适合会作为数据库主键的 ID。
- 2
设置生成数量
一次生成从一个到一千个不等。
- 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 位标识符的叫法。你会遇到的唯一区别是格式:微软的工具经常会给它加上花括号并使用大写,这两种格式这个工具都能生成。