X114

UUID / GUID 在线生成器 (RFC 4122 & RFC 9562 v7)

API 即将上线

批量生成符合 RFC 4122 v4 与最新 RFC 9562 v7 时间戳递增排序的高强度 UUID。支持无连字符、大括号及一键批量导出。

RFC 4122 & RFC 9562 UUID / GUID Generator

Architecture & Database Presets
Version:
Format:
Count:
Generated Identifiers (10 items)⚡ RFC 4122 Version 4 Cryptographic Random
  • 4b368e9a-1566-47b9-92a1-7869b1894a7e
  • 55691464-e769-400e-9bed-7b0bd0bafd2a
  • dd7181f2-057b-4059-b852-a11b5ffedcff
  • 420a1709-92a0-4c01-9467-acc5cef2f5a7
  • d51b703b-3e4d-4a5a-b511-e7367f34397f
  • e0af7e77-af6b-4634-8e95-54b3a37414a9
  • 7a6eee4e-2674-46b7-a81e-8ff816ce2bf9
  • 7ca08546-153c-4da7-8710-e85be20726a9
  • cc1430a2-2265-40bc-b3c7-95cb6479f502
  • 16054424-a279-4211-ad6c-da1f8a2e5dc3

API 版本即将上线

UUID Generator API 上线时通知你。

关于

本 RFC 4122 & RFC 9562 唯一标识符生成套件 基于浏览器底层原生 Web Crypto API (SubtleCrypto 与 CSPRNG 加密安全伪随机数发生器),在本地生成兼具极高抗碰撞性与时间序列特性的全局唯一标识符(UUID / GUID)。全面支持工业界通用的 UUID Version 4(强随机数) 与 2024 年正式发布的最新国际规范 UUID Version 7(基于 Unix 毫秒时间戳的单调递增排序)。全过程 100% 内存运行,零网络请求。


数学结构与 RFC 9562 国际规范解析

标准 UUID 是一组 128 位的无符号整数,在文本中通常呈现为以 4 个连字符分割的 36 字符十六进制字符串(8-4-4-4-12 结构):

  1. UUID Version 4(经典随机型):由 122 位高强度加密随机数加上 6 位固定版本号构成。其取值空间高达 $2^{122} \approx 5.316 \times 10^{36}$ 种可能。即便全世界的超级计算机集群每秒生成 10 亿个 UUID,连续运行 100 年发生重复碰撞的概率依然低于 10 亿分之一。
  2. UUID Version 7(时间序列递增型):由 RFC 9562 规范全新确立。其前 48 位编码自 1970 年以来的 Unix 毫秒时间戳,紧随 74 位加密随机数。UUIDv7 具备自然的时间单调递增特性,彻底解决了传统 UUIDv4 随机插入导致的 PostgreSQL、MySQL InnoDB、ClickHouse 数据库 B-Tree 聚集索引频繁页分裂(Page Splits)与磁盘 I/O 剧烈抖动的工程痛点。

各版本 UUID 综合特性对比表

UUID 版本 熵源与生成原理 排序特性(Monotonic) 理论碰撞风险 工业界核心应用推荐 安全合规评级
UUID v7 48位毫秒时间戳 + 74位加密随机数 支持(按时间顺序严格递增) 实际业务场景下为 0 现代关系型数据库与分布式数据库主键 极度推荐:高吞吐低碎片,保护索引结构
UUID v4 122位纯密码学强随机数 无序(纯随机散列) 2^-122(不可计数的极小概率) 微服务链路追踪 Trace ID、OAuth State 推荐:完全不可预测,无隐私外泄
UUID v1 60位时间戳 + 48位网卡 MAC 地址 部分有序 极低(除时钟回拨) 历史遗留企业目录服务 已废止:外泄网卡硬件物理地址与确切时间
UUID v5 命名空间 + 名称的 SHA-1 散列 确定性映射 低 跨系统相同名称的幂等 ID 生成 适用于需要幂等计算的场景
UUID v3 命名空间 + 名称的 MD5 散列 确定性映射 高(MD5碰撞) 早期兼容系统 不推荐:MD5 存在严重抗碰撞缺陷

开发者跨语言生成代码

1. JavaScript / TypeScript (Node.js & 现代浏览器)

// 原生生成 UUIDv4 (Node.js 19+ 及主流浏览器零依赖内置)
export function getTraceId(): string {
  return crypto.randomUUID();
}

2. Python 3 (uuid 模块)

import uuid
uid = uuid.uuid4()
print("带连字符:", str(uid))
print("32位无连字符:", uid.hex)

3. Go (github.com/google/uuid)

package main
import "github.com/google/uuid"

func main() {
	idV4, _ := uuid.NewRandom() // v4 随机
	idV7, _ := uuid.NewV7()     // v7 时间有序主键
}

常见问题