代码

UUID 生成器指南:v4、v7、命名空间与 GUID 格式

ToolMellow ·

UUID 是采用指定版本和变体约定的 128 位标识符。ToolMellow 生成 v1、v3、v4、v5、v6、v7,以及固定 Nil 和 Max 值。选择“UUID 版本”和“UUID 格式”,设置数量或名称列表,再点击“生成 UUID”。生成在本地浏览器工作线程中运行。

不同版本满足不同需求:随机标识符、以时间为依据的标识符,或可重复的命名空间与名称标识符。本指南解释实际选项和限制。UUID 不会自动成为授权令牌、密码、经过全球查重的唯一值或真实事件时间证明。以下示例是固定说明,不是新分配的生产标识符。

UUID 生成器

如何生成一个或一批 UUID

打开 UUID 生成器,选择“UUID 版本”和“UUID 格式”,按需开启“UUID 大写”或“输出为 JSON 数组”。默认版本为 v4。随机、时间、Nil 和 Max 方式用整数“数量”设置 1 到 1,000 个;v3、v5 则输入名称并选择命名空间,数量不控制名称输出。

点击“生成 UUID”,复制或下载前检查版本、表示形式及结果值。修改输入或选项会使旧结果失效。“自动换行”只影响显示。UUID 没有“将结果用作输入”操作;其他应用需要时请手动复制。

  • 按应用要求选择版本,不要只因另一个输出看起来更合适而切换。
  • 需要可重复性时,记录命名空间和名称表示规则。
  • 时间标识符要保留格式和时钟条件,不要把 UUID 当认证决策。

选择 v1、v3、v4、v5、v6 或 v7

RFC 9562 是当前 UUID 标准,取代 RFC 4122。ToolMellow 提供下表的六种版本及两个特殊常量,不生成版本 2 或自定义版本 8 布局。改变文本格式不会改变版本或底层标识符位。

版本说明构造方法,不保证全球唯一、保密或兼容所有接收系统。数据库或协议可能有自己的版本和表示要求。本页面生成标识符,不查询注册表,不连接数据库,也不测试索引性能。

选择 v1、v3、v4、v5、v6 或 v7
方式本工具中的构造适用边界
v4密码学随机性随机标识符,不是时间戳或自动秘密令牌系统
v7Unix 时间字段与库计数、随机字段时间型,顺序受时钟和工作线程范围限制
v1公历时间戳、时钟序列和随机节点字段透露时间;本实现不读取设备 MAC
v6重排公历时间戳及随机节点、序列字段时间字段的位置比 v1 更靠前;仍需考虑存储规则
v5命名空间与准确 UTF-8 名称,使用 SHA-1确定性,不是带密钥认证
v3命名空间与准确 UTF-8 名称,使用 MD5传统确定性构造,不是密码存储
Nil固定全零 UUID重复常量,不是新唯一分配
Max固定全一 UUID重复常量,不是新唯一分配

RFC 9562:通用唯一标识符、布局、命名空间和示例uuid.js 14.0.2:UUID 生成 API 与状态处理

UUID 布局、版本、变体和 GUID 术语

标准文本 UUID 有 32 个十六进制字符和四个连字符,分组为 8-4-4-4-12,共 36 个字符。这里普通版本的第三组第一个十六进制字符标示版本。变体位影响第四组开头,通常为 8、9、a 或 b。Nil 与 Max 是特殊值,不是生成普通 v0 或 v15 的请求。

GUID 常用于称呼 UUID 风格标识符。“花括号 · GUID”选项只在文本外加花括号,不输出 Windows 二进制结构或改变字节顺序。大写仅改变十六进制字母表示。语法看似合理的字符串不能证明生成者身份或授权访问。

RFC 9562:通用唯一标识符、布局、命名空间和示例

UUID v4:随机标识符与碰撞限制

普通 v4 保留版本和变体位,其余 122 位使用随机性。本工具的随机与时间生成路径要求密码学随机值支持。库在可用时可用原生 crypto.randomUUID 生成 v4,否则使用密码学随机值实现,没有 Math.random 备用方案。

在适当假设下,随机生成使意外碰撞概率低,但不保证每个标识符全球未使用。工具不做外部查重。如果应用必须唯一,应采用其实际分配和存储规则,不要把一个浏览器生成值当成全球预留。

RFC 9562:通用唯一标识符、布局、命名空间和示例uuid.js 14.0.2:UUID 生成 API 与状态处理W3C Web Cryptography API:密码学随机值

时间字段、设备时钟与批内顺序

v1 与 v6 的公历时间戳布局以 100 纳秒为单位,v6 重排时间字段。本浏览器实现以毫秒设备时钟为基础,因此字段单位不证明 100 纳秒测量精度。v7 开头为 Unix 毫秒,结合库管理的序列、计数器及随机字段;本实现的剩余位并不全部独立随机。

工作线程中的库在生成任务内管理时钟和计数状态,包括 v7 对相同或回退时钟的处理。每次运行使用新工作线程,状态不跨点击、标签页或设备共享。解出的时间可能反映库时钟处理,不是权威现实时间。不保证跨批或分布式单调顺序,超出支持范围的设备时钟会被拒绝。

RFC 9562:通用唯一标识符、布局、命名空间和示例uuid.js 14.0.2:UUID 生成 API 与状态处理WHATWG HTML:工作线程与生命周期

UUID 可能透露哪些时间和身份信息

v1、v6、v7 透露时间相关信息。本工具的 v1、v6 用随机节点字段,不读取网卡 MAC 地址。这区别于可能使用其他节点来源的实现,但不让时间标识符匿名。

v4 没有定义的创建时间字段;v3、v5 可因重复命名空间、名称或候选猜测透露关系。这些值都不会自动证明身份、保密性或所有权。不要把敏感真实姓名放进共享示例,应用授权应独立于标识符格式设计。

RFC 9562:通用唯一标识符、布局、命名空间和示例uuid.js 14.0.2:UUID 生成 API 与状态处理

名称型 v3/v5:字面行与可重复性

v3、v5 名称编辑器把每个 CRLF、CR 或 LF 分隔的行视为一个名称。保留空行、末尾空名称、空格、大小写和重复行。因此空编辑器生成一个空名称的 UUID,不是零项批次。数量不控制这些方式;上限为 1,000 个名称行和 1,000,000 个 UTF-16 输入单元。

相同版本、命名空间和准确 UTF-8 名称生成同一 UUID。工具拒绝未配对代理项,不规范化 Unicode,也不去除名称空格。看似相同的规范化形式或结尾空格可改变字节输入。这里 MD5 与 SHA-1 用于标准名称型 UUID 构造,不是密码哈希、加密或带密钥认证。

RFC 9562:通用唯一标识符、布局、命名空间和示例WHATWG Encoding:UTF-8 与文本解码ECMAScript:String isWellFormeduuid.js 14.0.2:UUID 生成 API 与状态处理

DNS、URL、OID、X.500 与自定义命名空间

“命名空间”选择与每个名称配合的 UUID 值。默认 DNS;URL、OID 和 X.500 提供下表其他预定义常量。预设标签不会做 DNS 解析、请求 URL、规范化域名、验证 OID 或解析 X.500 可分辨名称。工具把字面 UTF-8 名称文本传给所选构造;应用需要额外表示规则时应自行遵循。

“自定义 UUID”要求有效的标准带连字符命名空间 UUID。接受大写十六进制,库验证也接受 Nil 与 Max。命名空间字段不接受紧凑、花括号或 URN 形式。“清空”重置自定义命名空间为默认 DNS,不改变先前下载的值。

DNS、URL、OID、X.500 与自定义命名空间
预设命名空间 UUID
DNS6ba7b810-9dad-11d1-80b4-00c04fd430c8
URL6ba7b811-9dad-11d1-80b4-00c04fd430c8
OID6ba7b812-9dad-11d1-80b4-00c04fd430c8
X.5006ba7b814-9dad-11d1-80b4-00c04fd430c8

RFC 9562:通用唯一标识符、布局、命名空间和示例uuid.js 14.0.2:UUID 生成 API 与状态处理

已知 DNS 命名空间示例

使用 DNS 命名空间和准确名称 www.example.com 时,下表标准小写值复现 RFC 名称型示例。选择 DNS 不会触发网络查询。本工具不默默将大写域名字符串转为小写;它是另一个字面输入。

先用固定示例确认版本和命名空间,再排查实际命名约定。v3/v5 重复行产生重复值。确定性结果适用于约定的输入规则,但不是所有用途的抗碰撞证明,也不是名称所有权证书。

已知 DNS 命名空间示例
版本准确名称标准输出
v3www.example.com5df41881-3aed-3515-88a7-2f4a814cf09e
v5www.example.com2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562:通用唯一标识符、布局、命名空间和示例

标准、紧凑、花括号、URN 和 JSON 输出

格式只改变表示,不改变 UUID 位。表中以一个固定 v5 值示范四种格式。“UUID 大写”改变十六进制字母,URN 前缀仍为 urn:uuid:。确认接收系统允许所选写法;格式工具不做二进制 GUID 序列化或数据库转换。

“输出为 JSON 数组”生成按所选格式写出的缩进字符串数组;否则各值由换行分隔。选择 JSON 时下载 toolmellow-result.json,否则为 toolmellow-result.txt,都是 UTF-8 文本。选项变化使旧结果失效,选择格式后需重新生成。

标准、紧凑、花括号、URN 和 JSON 输出
格式单个值字符数示例
标准362ed6657d-e927-568b-95e1-2665a8aea6a2
紧凑322ed6657de927568b95e12665a8aea6a2
花括号 · GUID38{2ed6657d-e927-568b-95e1-2665a8aea6a2}
URN45urn:uuid:2ed6657d-e927-568b-95e1-2665a8aea6a2

RFC 9562:通用唯一标识符、布局、命名空间和示例uuid.js 14.0.2:UUID 生成 API 与状态处理

Nil、Max,以及验证不能证明什么

Nil 是 00000000-0000-0000-0000-000000000000,Max 是 ffffffff-ffff-ffff-ffff-ffffffffffff,都是固定特殊值。任一种数量选二会得到同一常量两次,不是两个新唯一值。不要与随机值或普通版本混淆。

有效 UUID 语法或版本、变体匹配,不证明它尚未分配、保密、由授权者发布或适合作账户权限凭据。名称型值可由输入预测,时间型值透露时间。本工具没有唯一性注册表、登录令牌生命周期、数字签名或 UUID 认证服务。

RFC 9562:通用唯一标识符、布局、命名空间和示例

限制、浏览器能力与排查

随机、时间、Nil、Max 方式的数量须为 1 到 1,000 的整数。名称方式另限行数,总输入上限是一百万 UTF-16 单元。加载本地文本文件拒绝大于或等于 4,000,000 字节的文件及超限文本。File.text() 去掉开头 UTF-8 BOM 并替换畸形 UTF-8,浏览器编辑还可能影响行尾;导入不是保留原始字节的名称来源。

随机和时间方式需要 crypto.getRandomValues。原生 randomUUID 要求安全上下文,但库可在没有它时用密码学随机值;名称型及固定方式不需要随机值,也不需要 crypto.subtle。不要把 SHA 文本工具的统一能力提示套用到所有 UUID 方式。工作线程、浏览器和平台限制仍可能阻止生成。

限制、浏览器能力与排查
现象下一步检查
命名空间无效自定义字段使用有效的 36 字符带连字符 UUID
v3/v5 意外重复检查重复、空名称及完全相同的命名空间和名称
名称输出数量不对每行一个名称,末尾换行增加一个空名称
随机值或设备时钟错误检查必要能力或实际设备时钟
导入后结果意外检查 BOM 移除、UTF-8 替换、行分隔与名称字节

W3C Web Cryptography API:密码学随机值uuid.js 14.0.2:UUID 生成 API 与状态处理W3C File API:读取 Blob 文本WHATWG Encoding:UTF-8 与文本解码WHATWG HTML:工作线程与生命周期

清空、本地生成与网站请求

“清空”移除名称、输入、结果、错误和编辑器历史,将自定义命名空间重置为 DNS。保留版本、数量、格式、大写、JSON 和自动换行选择。刷新或关闭丢弃内存中的输入与结果。下载文件仍在设备上,“清空”不保证彻底消除浏览器或系统内存中的可恢复痕迹。

生成不会把名称、所选文件内容或 UUID 上传给生成服务器或分配注册表。加载网站仍向主机发送常规元数据,公开站点用 Google Analytics 统计访问,包括 Cookie 和浏览器、设备信息。本地生成不表示匿名、零网络请求或基础设施零日志。

嵌入 UUID 生成器并保留反向链接

选择页面语言,在工作区下方集成部分复制或下载 HTML 代码,粘贴到允许外部 iframe 与尺寸脚本的平台。代码包含对应语言 ToolMellow UUID 页面的可见反向链接,请保留署名链接。

在窄屏预览,检查所选方式的剪贴板与工作线程支持。嵌入版保留相同版本、限制和本地状态范围,不成为远程标识符 API 或共享查重服务。链接用 nofollow 与 noopener,不保证提高排名。

常见问题

如何生成 UUID?

选择版本和格式;随机、时间及固定方式设置数量,v3/v5 设置命名空间和名称行,再点击“生成 UUID”。复制或下载文本或 JSON。默认 v4。

UUID v4 和 v7 有什么区别?

v4 用密码学随机性与版本、变体位。v7 含 Unix 毫秒和库计数、随机字段,属于时间型,但不保证权威时间或跨运行、标签页、设备顺序。

UUID 一定唯一吗?

不提供全球保证或外部分配查重。在适当假设下随机碰撞概率低。名称重复会重现,Nil/Max 是常量。需要时执行应用自己的唯一性规则。

为什么 UUID v5 重复相同值?

相同版本、命名空间和准确 UTF-8 名称重现同一 UUID。空或重复名称保留为独立行,可能重复值,不会给每次重复名称另选随机标识符。

数量控制 UUID v3 或 v5 批次吗?

不控制。每个 CRLF、CR 或 LF 分隔的行是名称,包括空行和末尾空行。名称批次最多 1,000 行及一百万 UTF-16 输入单元。

DNS 和 URL 命名空间做什么?

它们为字面名称字节选择预设命名空间 UUID,不查询 DNS,不请求 URL,不规范化域名大小写,也不验证完整地址。遵循应用的命名约定。

这里的 UUID v1 泄露 MAC 地址吗?

本实现的 v1/v6 用随机节点字段,绝不读取设备 MAC。它们仍透露时间。其他实现可能采用不同节点来源,这不是匿名保证。

UUID v7 保证按时间有序吗?

库在生成工作线程内处理时钟和计数状态。每次运行用新线程,不保证分布式或跨批顺序。时钟错误或回退处理可能影响时间信息。

UUID 与 GUID 格式有何区别?

GUID 是常见相关术语。本工具花括号只包裹文本 UUID。标准、紧凑、花括号和 URN 表示同一位值,不转换为 Windows 二进制布局。

Nil 和 Max 是新唯一值吗?

不是。Nil 全零,Max 全一,固定特殊值生成多个时重复,不是普通 v0/v15 随机生成方式。

UUID 总需要 HTTPS 和 Web Crypto 哈希吗?

不总需要。随机、时间方式要密码学随机值;没有原生 randomUUID 时 v4 可用库备用路径。v3/v5 用库名称哈希,Nil/Max 是常量,它们不都需要 crypto.subtle 或同一能力路径。

UUID 能直接用作密码或秘密令牌吗?

语法不证明保密、授权或完整令牌生命周期。名称、时间、固定方式有可预测或暴露结构。应为实际应用设计认证与存储,不把所有 UUID 当秘密。

清空重置什么?

清空输入、输出、错误和历史,自定义命名空间回到 DNS。保留版本、数量、格式、大写、JSON 和自动换行。已下载文件仍在设备上。

能在网站嵌入 UUID 生成器吗?

使用工作区下方本地化 HTML 代码,保留可见 ToolMellow 反向链接,确认 iframe、脚本、剪贴板、工作线程支持。嵌入版同方式同限制,不是远程分配或查重 API。

来源与延伸阅读

动手试试。