通过MCP连接 →

输入计算

数学公式

广告

结果

已生成的 UUID
5
版本 4(随机)
68426033-188b-41e0-b262-5e1971b410d6
eb0184cd-1c52-49de-a4bb-494c627e176d
270fe926-6372-4f88-b4e4-9ef526cb276b
51922c88-963f-401f-b9b6-87e45215b725
c7dee8e1-6db7-4cd0-a183-c280d436c4ee

什么是 UUID?

UUID(Universally Unique Identifier,通用唯一标识符),在微软体系中也叫 GUID,是一个 128 位的数值,用于在计算机系统中唯一地标识信息,且无需依赖任何中央管理机构来分配编号。本工具生成的是 版本 4(v4) 的 UUID,它几乎完全由随机数构成。由于其中包含 122 个随机比特位,两个 UUID 发生重复(碰撞)的概率小到几乎可以忽略不计,因此可以放心地将其视为全球唯一。这是一项与编程语言无关的通用国际标准(RFC 4122)。

如何使用本生成器

先选择你需要生成的 UUID 数量(1 到 50 个),再选择输出为小写还是大写,并决定是否保留标准的连字符。点击生成后即可复制结果。UUID 在很多场景中都非常实用,例如数据库主键、API 请求 ID、文件名、会话令牌(session token),以及在分布式系统中无法依赖自增计数器时所需的唯一标识。

格式详解

一个版本 4 的 UUID 由 32 位十六进制字符组成,按 8-4-4-4-12 的规则分为五组,组间用连字符分隔,例如 xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx。其中固定为 4 的那一位用来标识版本号;标记为 y 的那一位用来表示变体(variant),其取值必须是 89ab 之一。其余所有的 x 都是随机生成的十六进制字符。

$$\text{UUID} = \underbrace{\texttt{xxxxxxxx}}_{8}\text{-}\underbrace{\texttt{xxxx}}_{4}\text{-}\underbrace{\texttt{4xxx}}_{4}\text{-}\underbrace{\texttt{Yxxx}}_{4}\text{-}\underbrace{\texttt{xxxxxxxxxxxx}}_{12}\quad\times\,\text{Count}$$

版本 4 UUID 拆分为以连字符分隔的五个分段的示意图,显示固定的版本和变体位置
UUID v4 的五个分段,其中固定的版本位(4)和变体位(y)已高亮显示。

实例演示

假设有一串随机十六进制字符,例如 3f9a7c1e b204 1d88 9c33 a7f019be24c1。要把它变成合法的 v4 UUID,我们需要把第 13 位强制设为 4,并把第 17 位设为一个合法的变体字符,于是得到例如 3f9a7c1e-b204-4d88-9c33-a7f019be24c1。可以注意到:第二个连字符后面是 4,第三个连字符后面是 9(一个合法的变体取值)。

常见问题

这些 UUID 在密码学上安全吗?它们使用所在平台的伪随机数源生成,作为普通标识符完全够用;但如果用于高安全级别的密钥或机密信息,建议改用专门的密码学安全随机数生成器。

两个 UUID 有没有可能完全相同?理论上有可能,但概率微乎其微——你需要每秒生成数十亿个、并持续很多年,才有实际意义上发生碰撞的可能。

去掉连字符会改变它的值吗?不会。连字符纯粹是为了便于阅读,去掉后底层的 128 位数据完全一致。

最后更新: