# UUID 版本生成器（v1–v8）

生成 RFC 9562 UUID——包括多数生成器缺少的现代 v6、v7、v8——或把任意 UUID 解码出版本、变体与内嵌时间戳。

> 标准页面: https://elysiatools.com/zh/tools/uuid-version-generator

- **分类:** Development

- **关键词:** uuid 生成器, uuid v4 生成, uuid v7 生成, uuid v7 在线, uuid v6, uuid v8, rfc 9562, guid 生成器, uuid 解码

## 概述

覆盖 RFC 9562 全部版本的 UUID 生成器：v1（基于时间，格里高利时间戳 + 节点）、v4（随机）、v5（确定性 SHA-1 命名空间，内置 DNS/URL/OID/X.500 命名空间）、v6（v1 时间戳重排、可 k 排序）、v7（48 位 Unix 毫秒时间戳 + 随机——数据库友好、排序正确的那一个）与 v8（自定义版本位，此处以 CSPRNG 随机填充）。一次最多生成 100 个，可选大小写。切换到解码模式可解析任意 UUID：报告版本、变体，并对 v1/v6/v7 提取内嵌时间戳、渲染为精确 UTC 日期——这是检验 v7 是否良构、v1 来自何处的最快方式。v5 是确定性的：同一命名空间 + 名称永远得到同一 UUID。

## 输入项

- **模式** (select)
- **版本** (select)
- **生成数量** (number)
- **输出大写** (checkbox)
- **命名空间（v5）** (select)
- **名称（v5 输入）** (text): e.g. example.com
- **要解码的 UUID** (text): e.g. 017f22e2-79b0-7cc3-98c4-dc0c0c07398f

## 适用场景

- 为分布式数据库设计主键并需要兼顾时间有序性与 B-Tree 索引性能时（推荐使用 v7）。
- 基于固定域名或 URL 生成幂等、可重复验证的确定性唯一标识时（使用 v5）。
- 排查日志或数据表中的未知 UUID 来源，需要提取其内嵌生成时间与版本信息时（使用解码模式）。

## 工作原理

- 选择工作模式：在「生成 UUID」模式下批量创建新标识符，或在「解码 UUID」模式下解析既有标识符。
- 配置生成参数：选择 UUID 版本（v1、v4、v5、v6、v7、v8），指定生成数量（1 至 100），并可按需勾选输出大写或填入 v5 命名空间与名称。
- 解析与提取信息：解码模式下输入目标字符串，系统将自动识别其 RFC 变体与版本位，并对 v1、v6、v7 还原精确的 UTC 时间戳。

## 使用案例

- 后端架构设计：为微服务订单、分布式事务批量生成兼顾时间序与全局唯一性的 v7 主键。
- 系统排错与审计：通过解码日志中的 UUID，快速定位报错记录的生成时间与所采用的 RFC 规范版本。
- 接口与数据映射：使用 v5 将外部系统的资源 URL 或 DNS 域名转换为固定且合规的内部唯一标识符。

## 常见问题

### 为什么在数据库主键中推荐使用 UUID v7 代替 v4？

UUID v7 前 48 位包含 Unix 毫秒时间戳，具有天然的单调递增性，可大幅降低 B-Tree 索引页分裂并提升写入吞吐量。

### UUID v5 的确定性是如何实现的？

v5 基于 SHA-1 散列算法，将预设命名空间（如 DNS 或 URL）与用户输入的名称进行哈希计算，相同输入永远生成完全相同的 UUID。

### 解码模式支持哪些版本的内嵌时间戳提取？

支持对包含时间信息的 UUID v1（格里高利历时间戳）、v6（重排时序）以及 v7（Unix 毫秒时间戳）提取并渲染为 UTC 日期时间。

### UUID v6 与 UUID v7 有什么主要区别？

v6 是将 v1 的格里高利时间戳字段重排以支持排序，主要用于兼容旧系统；v7 则采用更直接的 48 位 Unix 毫秒时间戳，符合现代系统标准。

### 一次最多可以批量生成多少个 UUID？

单次最多支持批量生成 100 个 UUID，可自由选择大写或小写格式输出。

## 相关工具

- [现代唯一 ID 生成器](https://elysiatools.com/zh/tools/uid-generator): 生成现代唯一标识：ULID、NanoID、Snowflake、CUID2。可对比格式、解码 ULID 时间戳，选择适合你系统的 ID 方案。
- [ULID / NanoID / KSUID / Snowflake 词法 ID 解码器](https://elysiatools.com/zh/tools/ulid-nanoid-ksuid-snowflake-id-decoder): 解码 ULID（Crockford base32）、KSUID（base62）、NanoID、MongoDB ObjectId 与 Discord/Twitter/Sonyflake 雪花 ID：拆解时间戳、随机位、机器位，展示 ISO 时间与十六进制原始值，并按生日界公式估算碰撞概率。
- [JavaScript反混淆器](https://elysiatools.com/zh/tools/javascript-deobfuscator): 反混淆和分析混淆的JavaScript代码，提高可读性和理解性
- [NTP RFC 5905 / SNTP 闰秒与纪元解码器](https://elysiatools.com/zh/tools/ntp-rfc-5905-sntp-leap-second-epoch-decoder): 解码 NTP/SNTP 48 字节包：字节 0 位域、stratum/poll/precision、root delay/dispersion、reference ID、四个 64 位时间戳（1900 纪元）
- [Snowflake / Discord ID 位字段解码器](https://elysiatools.com/zh/tools/snowflake-discord-id-bit-decoder): 使用无损 64 位解析 Snowflake 风格 ID，提取时间戳、worker、process、sequence 或平台特有字段，并可推断 Discord shard。
- [ASCII85转换器](https://elysiatools.com/zh/tools/ascii85-converter): 将文本编码/解码为ASCII85格式（Adobe版本）
- [跟读提示生成器](https://elysiatools.com/zh/tools/audio-read-along-cue-generator): 从旁白音频及其脚本生成句子或单词级时间戳提示,用于卡拉OK式跟读和语言学习。
- [Base45转换器](https://elysiatools.com/zh/tools/base45-converter): 将文本编码/解码为Base45格式（RFC 9285）

## 示例

- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换
- [Android Java 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-java): Android Java 图像处理示例，包括图像读取保存、缩放和格式转换
- [Android Kotlin 图像处理示例](https://elysiatools.com/zh/samples/android-image-processing-kotlin): Android Kotlin 图像处理示例，包括图像读取保存、缩放和格式转换
- [Web Rust 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-rust): Web Rust 图像处理示例，包括图像读取保存、缩放和格式转换
