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 结构):
- UUID Version 4(经典随机型):由 122 位高强度加密随机数加上 6 位固定版本号构成。其取值空间高达 $2^{122} \approx 5.316 \times 10^{36}$ 种可能。即便全世界的超级计算机集群每秒生成 10 亿个 UUID,连续运行 100 年发生重复碰撞的概率依然低于 10 亿分之一。
- 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 时间有序主键
}