UUID(通用唯一识别码,Universally Unique Identifier)是 128 位的标识符,通常写成 36 个字符的 8-4-4-4-12 十六进制形式,例如 550e8400-e29b-41d4-a716-446655440000,用于在不依赖中央分配的情况下生成几乎不会重复的 ID。下面说明常见类型。
UUID版本一览
- 版本 1:时间戳 + MAC 地址
- 版本 3:命名空间 + 名称的 MD5
- 版本 4:随机生成,最常用
- 版本 5:命名空间 + 名称的 SHA-1
- 版本 6:调整字段顺序后的版本 1
- 版本 7:Unix 毫秒时间戳 + 随机,时间有序
- 版本 8:自定义格式
示例
输入:版本 4(随机)
生成结果:d791ee29-0b48-43a3-8783-28cb932735e0
说明:第 13 位“4”表示版本 4,第 17 位“8”属于 8/9/a/b 之一,表示 RFC 变体;共 122 位随机。
注意事项
- 版本 4 适合大多数场景,但作为主键插入时会造成 B+ 树索引随机写入
- 需要排序或高写入性能时考虑版本 7
- 版本 1 会暴露生成机器的 MAC 地址和时间
- UUID 不是安全令牌,不要单独用于访问授权
- 存储时统一大小写,避免比较出错
常见误区
- 误区:UUID 绝对不会重复——只是概率极低,版本 4 生成 2^61 个左右才有约一半概率出现一次碰撞
- 误区:GUID 和 UUID 不同——两者是同一种东西
- 误区:去掉连字符就不是 UUID——只是写法不同
- 误区:版本 4 可以当随机密码——它的格式和随机位数都不适合
相关标准
UUID 最早由 RFC 4122 规定,2024 年 5 月发布的 RFC 9562 取代了它,并新增了版本 6、7、8。版本 7 以 Unix 毫秒时间戳开头,兼顾唯一性和时间有序,是目前推荐的新主键方案。微软体系中常称为 GUID,含义相同。
本站的UUID生成器工具可以直接在网页中使用,无需安装,适合快速得到和核对结果。
常见问题
【UUID 会重复吗?】理论上可能,但版本 4 的碰撞概率极低,实际应用中可以视为唯一。
【UUID 区分大小写吗?】不区分,规范建议输出小写,比较时忽略大小写。
【怎样从 UUID 看出生成时间?】版本 1、6、7 包含时间戳可以还原,版本 4 是纯随机的,没有时间信息。
文中示例可以在本站对应工具中核对。
标签: 实用工具