UUID 校验器

UUID 校验器

最多 100 个 UUID,每行一个。空行会被跳过。

UUID 是 128 位的值,写成 32 个十六进制数字,并按 8-4-4-4-12 的形式分段。但很多看起来像 UUID 的字符串其实并不是。你可以从日志、数据库导出文件或配置文件中粘贴一个标识符,或者整整一列(每行一个),校验器会逐行给出结果:格式是否正确、属于哪个版本(1 到 8)、哪种变体、是否为 Nil 或 Max UUID,对于版本 1、6、7,还能给出它被创建的准确时间。

如何校验 UUID

  1. 1

    粘贴 UUID

    每行一个,最多 100 行。大小写均可,空行会被跳过。

  2. 2

    选择接受的格式

    宽松模式还接受 {花括号}、urn:uuid: 前缀以及不带连字符的 32 位数字。严格模式只接受带连字符的标准形式。

  3. 3

    逐行查看结果

    每一行会显示为有效、格式正确但不标准或无效,并附上版本、变体、创建时间(如果有),校验失败时还会说明原因。

三种结果的含义

每一行最终只会落入三类之一:

  • 有效:格式正确,变体位表明这是 RFC 9562 的 UUID(第四组的第一位是 8、9、a 或 b),并且版本位在 1 到 8 之间。Nil UUID(00000000-0000-0000-0000-000000000000)和 Max UUID(ffffffff-ffff-ffff-ffff-ffffffffffff)是标准定义的特殊值,同样视为有效。
  • 格式正确但不标准:字符串是一个正确的 32 位 UUID,但版本位是 0 或 9 到 f,或者变体位属于其他布局(预留的 NCS 和 Microsoft 范围,或预留的未来范围)。一些老系统和其他平台的 GUID 就是这种形式。工具仍会告诉你它识别到的内容,但不会从这样的值中读取创建时间。
  • 无效:根本不是 UUID。详情一栏会说明原因:含有非十六进制字符、数字位数不对(并给出实际检测到的位数)、连字符位置不对,或者在严格模式下使用了不允许的包裹形式。

各个版本

版本 生成方式 是否含时间
1 时钟时间加节点标识符 有,自 1582 年 10 月 15 日起以 100 ns 为单位计数
2 DCE 安全:用本地标识符替换部分时间位 本工具不读取
3 命名空间与名称的 MD5 哈希 无
4 随机 无
5 命名空间与名称的 SHA-1 哈希 无
6 把版本 1 的时间位重新排列,使其按时间排序 有,与版本 1 使用同一时钟
7 48 位 Unix 毫秒时间戳,后接随机位 有,自 1970 年起的毫秒数
8 由应用自定义的布局 无

版本 6、7、8 以及 Nil 和 Max 值来自取代 RFC 4122 的 RFC 9562。

如何读取时间戳

版本 1 和 6 存储的是一个 60 位的计数,以 100 纳秒为单位,起点是 1582 年 10 月 15 日,也就是格里高利历改历的日期。版本 7 在前 48 位存储 Unix 毫秒时间戳。校验器以 UTC 显示时间,既有中文格式,也有带毫秒的 ISO 8601 字符串,方便直接粘贴到查询语句中。例如,著名的 DNS 命名空间 UUID 6ba7b810-9dad-11d1-80b4-00c04fd430c8 是一个版本 1 的值,创建于 1998-02-04 22:13:53.151 UTC。

通过校验并不能证明什么

  • 有效的 UUID 只是格式正确。它不能证明该值来自可信的生成源、是唯一的,或者存在于你的数据库中。
  • 版本 4 的 UUID 是随机的,所以其中没有任何信息可以证明它是如何生成的。
  • 版本 1 的时间戳取决于生成它的机器的时钟,这个时钟可能不准,也可能被人为设定。

常见问题

不必。十六进制数字不区分大小写,所以 550E8400-E29B-41D4-A716-446655440000 和它的小写形式是同一个值。标准建议输出使用小写,当你的输入与此不同时,工具会在下方显示小写的带连字符形式。

因为它的版本位(第三组的第一位)不在 1 到 8 之间,或者它的变体位(第四组的第一位)不是 8、9、a 或 b。随手敲出的十六进制字符串和其他系统的一些 GUID 就是这种形状。它是一个格式正确的 128 位值,只是不符合 RFC 9562 的布局。

宽松模式接受真实数据中常见的各种形式:带连字符的标准 UUID、像 .NET 和 Windows 注册表那样用花括号包裹的、带 urn:uuid: 前缀的,以及不带连字符的 32 位数字。严格模式只接受带连字符的标准形式,大多数 JSON API 和数据库期望的正是这种格式。

最多 100 行,粘贴的文本不超过 4,000 个字符。空行会被忽略。如果粘贴的内容超过 100 行,只检查前 100 行,并会给出提示。

不会。你粘贴的文本会发送到我们的服务器来计算结果,并且在步骤之间切换时会附加到页面链接中,方便收藏或分享结果。它不会保存到任何账号或个人资料中,所以请不要粘贴你不愿放进链接里的标识符。

相关工具

此工具还提供其他语言版本