UUID / GUID 生成器

批量生成 v1、v4 或 v5 格式的 UUID,支持格式化和可选前缀/后缀。

版本参考


v4 — 随机

版本4的UUID完全由随机(或伪随机)字节生成。128位中有122位是随机的,其余6位编码版本(4)和变体。由于不含结构化信息,v4 UUID是最简单的选择:不需要共享状态、网络时钟或命名空间协调。生成重复项的概率极低。将v4用作数据库主键、会话令牌以及任何需要唯一性但不需要时间排序的场景的默认选择。

Wikipedia — UUID Version 4 (random)

v1 — 基于时间

版本1的UUID嵌入了60位时间戳(自1582年10月15日格里高利历改革日期起的100纳秒间隔)、14位时钟序列和48位节点标识符(历史上是生成机器的MAC地址)。由于时间戳是最重要的组成部分,v1 UUID在按字典序比较时按时间顺序排列——这对聚集数据库索引很有用。缺点是隐私:v1 UUID会泄露机器的MAC地址和确切的创建时间。

Wikipedia — UUID Version 1 (time-based)

v5 — 命名空间 + 名称 (SHA-1)

版本5的UUID是确定性的:给定相同的命名空间UUID和相同的名称字符串,输出始终相同。该算法将命名空间字节和UTF-8编码的名称连接起来,用SHA-1对其进行哈希处理,然后将160位摘要折叠为128位。这使v5非常适合生成稳定、可重现的标识符。v3使用MD5;v5因SHA-1产生更少碰撞而受到青睐。

Wikipedia — UUID Version 5 (name-based)