UUID 验证器与解码器
指导
UUID 验证器与解码器
粘贴任何 UUID,立即查看其是否有效,它遵循的版本(v1 到 v8,以及特殊的 Nil 和 Max UUID),以及其位元中隐藏的元数据。该工具将 v1、v6 和 v7 的时间戳解码为人类可读的日期,从基于时间的 UUID 中提取节点 ID / MAC 片段,并严格按照 RFC 4122 和 RFC 9562 的规定报告变体。粘贴一个 UUID 以获取完整详情,或每行一个 UUID 以一次性验证整个批次。
如何使用
- 将 UUID 粘贴到输入框中。对于批量验证,每行输入一个 UUID。
- 摘要框显示输入是否有效以及它使用的版本。
- 解码详情表会分解第一个 UUID 的每个字段,包括适用的时间戳和节点 ID。
- 当提供多个 UUID 时,批量结果表将出现,以便您一目了然地扫描整个列表。
- 点击 尝试一个示例 以加载包含 v1、v3、v4、v7 和 Nil UUID 的混合,以查看每个版本的解码方式。
特征
- 完整的 RFC 覆盖 – 检测 RFC 4122 和 RFC 9562 中定义的 UUID 版本 v1 到 v8 以及 Nil 和 Max UUID。
- 时间戳解码 – 将 v1 和 v6 的 100 纳秒格里高利时间戳以及 v7 的毫秒 Unix 时间戳转换为 ISO 和 UTC 日期。
- 节点 ID 检查 – 提取 48 位节点字段,以 MAC 地址格式显示,并标记多播或本地管理地址。
- 变体检测 – 从变体位中报告 UUID 变体(RFC 4122、NCS、Microsoft 或未来版本)。
- 批量模式 – 一次性验证数十个 UUID,每行提供清晰的判断、版本和备注。
- 100% 客户端 – 位级解析在您的浏览器中运行。没有任何数据发送到服务器,因此私有标识符永远不会离开您的设备。
常问问题
-
什么是 UUID 以及它的结构是怎样的?
UUID(通用唯一标识符)是一个 128 位值,通常以 32 个十六进制字符的规范 8-4-4-4-12 形式书写。这 128 位被划分为明确的字段:一个时间/随机部分,一个 4 位版本字段,用于标识 UUID 是如何生成的,一个 2 或 3 位的变体字段,用于标识该值遵循的 UUID 规范,以及根据版本不同可能包含时钟序列、节点 ID 或随机数据的剩余位。
-
UUID v1、v4 和 v7 之间的区别是什么?
UUID v1 编码当前时间(自 1582-10-15 起的 100 纳秒间隔)以及从 MAC 地址派生的节点 ID,使其可按时间排序,但会暴露生成它的主机。UUID v4 几乎完全是随机的——122 位随机位加上 6 位固定版本和变体位——因此不可预测但不可排序。UUID v7,由 RFC 9562 定义,结合了两者的优点:前 48 位是 Unix 毫秒时间戳,后接随机位,从而提供可排序、可索引且仍不可预测的值。
-
UUID 变体字段是什么?为什么它重要?
变体字段是 UUID 第 9 字节中的少量高位。它告诉解析器该值遵循的 UUID 规范:NCS 向后兼容(最高位为 0)、现代 RFC 4122 / RFC 9562 布局(最高位为 10)、Microsoft 的旧版 GUID 布局(最高位为 110)或保留给未来使用(最高位为 111)。解析器必须在读取版本之前读取变体,因为版本 nibble 的位置仅对 RFC 4122 风格的变体有意义。
-
Nil UUID 和 Max UUID 实际上是有效的吗?
是的。Nil UUID(00000000-0000-0000-0000-000000000000)在 RFC 4122 §4.1.7 中被定义为一个特殊的全零 UUID,用于表示未知或空值。Max UUID(ffffffff-ffff-ffff-ffff-ffffffffffff)在 RFC 9562 §5.10 中被添加,作为全一的对应值,常用于数据库中的上界哨兵。两者在语法上都是有效的 UUID,但不包含任何解码字段,如时间戳或节点 ID。
-
v3 或 v5 的 UUID 可以被还原回其原始名称吗?
不可以。UUID v3 和 v5 是基于名称的:实现将命名空间 UUID 与输入名称结合使用 MD5(v3)或 SHA-1(v5)进行哈希,并使用生成的摘要,覆盖版本和变体位,作为 UUID。由于加密哈希函数是单向设计的,您无法从生成的 UUID 恢复原始命名空间和名称——您只能验证一个候选名称与已知命名空间组合是否能生成相同的 UUID。
