UUID v7 生成器 - 创建基于 Unix 纪元时间的 UUID

在线生成基于 Unix 时间戳的版本 7 UUID。创建具有毫秒精度和时间顺序的现代 UUID,以实现数据库的最佳性能。

尝试这些示例:

什么是UUID v7?

UUID版本7是新UUID规范草案中提出的一种按时间排序的128位标识符(36字符字符串)。它由以下部分组成:

  • Unix时间戳:48位毫秒精度的Unix时间
  • 随机数据:74位随机数据
  • 版本和变体位:6位用于格式标识

格式示例017f22e2-79b0-7cc3-98c4-dc0c0c07398f

UUID v7如何工作

  1. 获取当前Unix时间戳(毫秒)(48位)
  2. 生成74位加密强度的随机数据
  3. 将版本位设置为0111(版本7)
  4. 将变体位设置为10(RFC 4122标准)
  5. 组装为带连字符的32个十六进制数字:8-4-4-4-12格式

优势与注意事项

优势注意事项
  • 可按字典顺序排序
  • 无隐私问题
  • 内嵌Unix时间戳
  • 为数据库简化
  • 规范处于草案状态
  • 时间戳分辨率有限(毫秒)
  • 在传统系统中支持有限
  • 无法回溯到1970年之前

UUID v7结构

内容
0-47Unix时间戳(毫秒)
48-51版本(v7为0111)
52-63随机数据
64-65变体(RFC4122为10)
66-127随机数据

UUID v7与其他版本比较

版本基于用例隐私
UUID v1时间 + MAC按时间排序的ID⚠️ 泄露MAC
UUID v3命名空间 + MD5确定性ID✅ 私密
UUID v4随机安全随机ID✅ 私密
UUID v5命名空间 + SHA-1确定性ID✅ 私密
UUID v6时间(重排序)可排序ID⚠️ 泄露MAC
UUID v7时间 + 随机可排序ID✅ 私密

常见用例

  • 数据库主键:高效索引
  • 分布式系统:无需协调的时间排序
  • 现代应用程序:注重隐私的标识符
  • 微服务:跨服务可排序ID
  • 事件溯源:按时间顺序排列的事件ID
  • 数据仓库:按时间排序的分析ID

常见问题

UUID v7相比v1或v6有什么优势?

UUID v7使用Unix时间戳(毫秒级)和随机数据而非MAC地址,在保持按生成时间排序能力的同时提供了隐私保护。

UUID v7是官方标准吗?

UUID v7目前是提议的RFC 4122bis文档中的草案规范。它尚未成为官方RFC标准,但已在许多UUID库中实现。

我可以从UUID v7中提取创建时间吗?

是的。可以从前48位提取毫秒级Unix时间戳并转换为标准日期时间格式。

UUID v7可按创建时间排序吗?

是的。UUID v7设计为可按字典顺序排序,Unix时间戳位于最高有效位,允许直接字符串比较以匹配时间顺序。

UUID v7会暴露任何系统信息吗?

不会。与v1/v6不同,UUID v7不使用MAC地址。它结合时间戳和随机数据,在保持可排序性的同时保护隐私。

资源