UUID 生成器

UUID v4 · 密码学安全随机

点击下方按钮生成 UUID
批量生成一次生成多个 UUID
选择数量后点击批量生成
历史记录暂无
生成后自动记录
UUID 说明通用唯一标识符
版本UUID v4 (随机)
格式8-4-4-4-12 十六进制
碰撞率2¹²² ≈ 5.3×10³⁶

在线UUID生成器

免费在线UUID/GUID生成工具。基于密码学安全随机数生成UUID v4,支持批量生成、大小写切换、多种格式输出。完全本地处理。

密码学安全随机

使用浏览器原生 crypto.getRandomValues() API 生成真随机数。符合RFC 4122标准的UUID v4格式,碰撞概率极低(约2¹²²分之一)。

批量生成

支持一次生成5到100个UUID。可选择大写/小写、标准格式/无横线/花括号等多种输出格式。一键复制全部结果。

完全本地处理

所有UUID在浏览器本地生成,不依赖任何服务器。生成的UUID不会被记录或传输,适合生成敏感系统的标识符。

UUID 版本详解

了解不同版本UUID的特点与适用场景。

UUID v1

基于时间戳+MAC

使用当前时间戳和网卡MAC地址生成。UUID中包含生成时间信息,可按时间排序。缺点是会暴露MAC地址和生成时间,有隐私风险。

UUID v4

完全随机 ★推荐

122位完全随机生成(6位用于版本和变体标识)。不包含任何可识别信息,是最常用的版本。碰撞概率约为2¹²²分之一,实际可忽略不计。

UUID v3/v5

基于命名空间+名称

v3使用MD5、v5使用SHA-1对命名空间和名称进行哈希。相同输入产生相同UUID,适合需要确定性ID的场景。v5安全性优于v3。

UUID v6

可排序时间戳

v1的改进版,重新排列时间戳位使其可按字典序排序。保留了时间信息但改善了数据库索引效率。2022年正式发布。

UUID v7

时间排序+随机 ★新标准

使用Unix毫秒时间戳+随机数。天然按时间排序,非常适合数据库主键。比v4有更好的索引性能,是新项目的推荐选择。

GUID

UUID的微软实现

GUID(全局唯一标识符)是微软对UUID的实现。格式完全相同,通常用花括号包裹显示如 {xxxxxxxx-xxxx-...}。在.NET/COM中广泛使用。

应用场景

数据库主键

替代自增ID作为数据库主键。分布式系统中无需协调即可生成唯一ID,避免ID冲突。

API资源标识

RESTful API中用UUID标识资源。不可预测的ID防止用户遍历资源,增强安全性。

会话与令牌

生成会话ID、CSRF Token、一次性令牌等安全标识。随机性确保不可被猜测。

分布式系统

微服务之间的消息ID、事件ID、链路追踪ID。无中心节点即可全局唯一。

UUID 专业知识

UUID 碰撞概率

UUID v4有122位随机空间,需要生成约2.71×10¹⁸个UUID才有50%概率出现碰撞。按每秒生成10亿个计算,需要约85年才可能碰撞。实际使用中碰撞风险可忽略不计。

UUID 格式结构

标准格式为 8-4-4-4-12 共32个十六进制字符加4个横线。第13位字符表示版本(v4为"4"),第17位字符高两位为"10"表示变体。总共128位(16字节)。

UUID vs 自增ID

UUID优势:分布式安全、不泄露业务信息、不可预测。劣势:占用空间大(16字节vs4/8字节)、无序导致数据库B+树索引效率较低。UUID v7通过时间排序改善了索引问题。

UUID vs Snowflake

Snowflake ID是Twitter设计的64位分布式ID。优势是有序、紧凑。但需要机器ID分配机制。UUID无依赖更简单,Snowflake适合高性能场景。新标准UUID v7结合了两者优点。

常见问题

Q.UUID会重复吗?

UUID v4有122位随机空间(约5.3×10³⁶种可能),碰撞概率极低。按每秒生成10亿个UUID计算,约85年才有50%概率碰撞。实际使用中完全可以认为不会重复。

Q.UUID和GUID有什么区别?

没有本质区别。GUID(全局唯一标识符)是微软对UUID的称呼。格式完全相同,只是GUID通常用花括号包裹显示。本工具支持花括号格式输出。

Q.UUID适合做数据库主键吗?

可以,但有注意事项。UUID v4完全随机,在B+树索引中会导致频繁的页分裂。如果在意索引性能,建议使用UUID v7(时间排序)或将UUID存储为二进制格式而非字符串。

Q.在线生成UUID安全吗?

完全安全。本工具使用浏览器原生 crypto.getRandomValues() API生成密码学安全随机数,UUID在本地生成,不会发送到任何服务器。即使断网也能正常使用。