UUID Generator

UUID 生成器

在浏览器内使用加密强度随机数生成符合 RFC 4122 标准的 v4 UUID (GUID)。

UUID (Universally Unique Identifier,在 Windows 上称为 GUID) 是一个 128 位数字,用于跨系统唯一标识数据,无需中央权限。v4 UUID 是从随机数生成的。

实际上是的。v4 UUID 有 122 位随机性,约 2^122 ≈ 5.3 × 10^36 种可能。即使每秒生成数十亿个 UUID 持续数千年,碰撞概率也可以忽略不计。

提示:按 Space 或 R 可重新生成。

为什么选择 UUID Generator?

符合 RFC 4122、加密强度随机、完全在浏览器端运行。

加密级随机

使用 crypto.randomUUID 或 crypto.getRandomValues,与银行和密码管理器使用相同的加密强度随机数生成器。

符合 RFC 4122 标准

生成真正的 v4 UUID,具备正确的版本位 (4xxx) 和变体位 (10xx)。实际应用中保证唯一 (2^122 种可能性)。

25 种语言

支持 25 种语言,自动检测浏览器语言。支持阿拉伯语、波斯语和乌尔都语的 RTL 排版。

批量生成

一次生成 1-10 个 UUID。可单独复制、全部复制或下载为.txt 文件。

多种格式

标准小写、大写、去除连字符或加大括号 {} — 适配各种系统需求 (SQL Server.NET、Postgres 等)。

隐私优先

所有 UUID 完全在你的浏览器内生成,不会发送到任何服务器,无日志、无追踪。

UUID 生成器如何工作

由你浏览器的 CSPRNG 生成 RFC 4122 v4 UUID,可单个或批量。

  1. 1

    选择数量

    生成单个 UUID、小批量(10 / 100),或一次最多生成 10,000 个用于填充测试数据。更大的批量会以流式写入 textarea,以免页面卡死。

  2. 2

    由 crypto.randomUUID 完成

    现代浏览器都暴露了 crypto.randomUUID,它使用与 crypto.getRandomValues 相同的硬件支持随机性来生成 RFC 4122 v4 UUID。我们直接使用它 — 不依赖第三方库,也不在质量上妥协。

  3. 3

    格式选项

    选择小写(默认)、大写、是否带连字符、或是否带花括号(微软 GUID 格式)。这种转换只是字符串替换;底层的随机性是一致的。

  4. 4

    复制或导出为 CSV

    一键复制将单个 UUID 放入剪贴板。批量时可下载为 .csv,每行一个 UUID — 适合填充数据库或生成测试 fixture。

什么时候用 UUID v4

不同的 ID 方案各有取舍。

数据库主键(顺序无关时)

v4 完全随机,因此插入会均匀分布到 B-tree 的各个 page 上,而不是集中在最新的 page 上形成热点。适合中低写入量的表;对于高写入表,可以考虑 UUID v7(带时间戳前缀),以提升索引局部性。

API 请求 ID

为每个请求生成新的 UUID,用于跨服务关联日志。v4 的唯一性绰绰有余 — 碰撞概率在数学上可以忽略不计。

测试数据填充

需要 1,000 个唯一 ID 用于 test fixture?批量生成,粘贴到你的 seeder 中,搞定。比调用数据库 UUID 函数 1,000 次要快。

JWT jti claim

签发 JWT 时,jti(JWT ID)claim 应在每个 token 中唯一。v4 是标准选择 — 把新生成的一个粘贴到你的 token 签发代码中即可。

为什么本地 CSPRNG 很重要

如果 UUID 生成器从服务器获取随机性,会出现两种失败模式:服务器可能泄露你生成的 ID(并将其与你的 IP 关联),或者更糟 — 如果其 RNG 弱,会生成可预测的 ID。iKit 直接使用你浏览器的硬件支持 CSPRNG,所以这两种情况都不会发生。

  • crypto.randomUUID 不可预测且已标准化。
  • 生成的 ID 不会离开浏览器;即便是批量下载也保持本地。
  • 不分析你生成了什么内容。

相关教程

来自 iKit 博客的深度教程与工具对比。

常见问题

什么是 UUID?

UUID (Universally Unique Identifier,在 Windows 上称为 GUID) 是一个 128 位数字,用于跨系统唯一标识数据,无需中央权限。v4 UUID 是从随机数生成的。

这些 UUID 真的唯一吗?

实际上是的。v4 UUID 有 122 位随机性,约 2^122 ≈ 5.3 × 10^36 种可能。即使每秒生成数十亿个 UUID 持续数千年,碰撞概率也可以忽略不计。

这些 UUID 会被发送到服务器吗?

不会。UUID 完全通过 JavaScript 的 Web Crypto API 在你的浏览器内生成,不会发出任何网络请求。你可以在浏览器的 Network 选项卡中自行验证。

UUID 和 GUID 有什么区别?

两者是同一种东西。GUID (Globally Unique Identifier) 是微软对 RFC 4122 定义的 128 位标识符的叫法。本工具生成的标识符两边皆可互通。

可以用作 primary key 吗?

可以,UUID 常用于分布式系统的 primary key。不过 v4 是随机的 — 如果需要可排序或按时间排序的 ID (ULID、v7、Snowflake),请使用其他方案以避免 B-tree 索引碎片化。