什么是UUID 生成器?
生成 v4(随机)、v7(按时间排序)、v1(时间戳加节点 ID)、v8(自定义布局)和 v5(基于命名空间且可复现)等格式的全球唯一标识符。可单个或批量生成 UUID,校验任意 UUID,或从命名空间和名称推导稳定 ID — 适用于数据库主键、API Token、测试数据和分布式系统。
需要完全随机的 ID 时选 v4;希望 ID 按创建时间排序(让数据库索引更紧凑,日志时间线更易读)时选 v7;需要经典的时间戳加节点 ID 时选 v1;需要 RFC 9562 自定义布局时选 v8。需要从命名空间和名称字符串确定性派生时选 v5。校验面板会解析任意 UUID,显示其版本、变体以及(若存在)嵌入的时间戳。一次最多生成 1000 个,可切换大写,按行或整批复制,并以纯文本、电子表格 CSV、JSON 数组或可直接执行的 SQL INSERT 语句导出。
使用方法
- 第 1 步 — 选择模式:v4 完全随机,v7 按时间排序,v1 为时间戳加节点 ID,v8 为自定义/实验性布局,v5 为基于命名空间的确定性 ID,或校验模式检查已有 UUID。
- 第 2 步 — v4/v7 中输入需要的数量(1 到 1000);v5 中选择命名空间并填入要哈希的名称;校验中粘贴 UUID 并点击校验。
- 第 3 步 — 复制单个或整批 UUID,按需切换大写,并以文本、CSV 或 JSON 下载。
何时使用
- 首次迁移前给测试数据库批量生成主键。
- 为分布式系统的 API token、设备标识等场景生成 ID。
- 创建会话 ID、链路追踪 ID、日志聚合用的相关 ID。
结果
您正在为测试数据库填充数据,需要 50 个唯一主键。选择 UUID v4,数量设为 50,点击生成并全部复制——每个 UUID 都是加密随机生成的,碰撞风险可忽略不计。
常见问题
- UUID v4、v5、v7 有什么区别?
- v4 是 122 位无结构的纯随机数。v5 使用 SHA-1 对命名空间 UUID 和名称字符串进行哈希,因此相同输入总是生成相同 UUID,非常适合从邮箱或 URL 派生确定性 ID。v7 在开头放置 48 位毫秒时间戳,后面是随机位,因此一串 v7 会按时间排序,非常适合关心插入顺序的数据库主键。
- UUID 真的不会重复吗?
- 按每秒生成 10 亿个 v4 UUID 连续生成 85 年,出现一次重复的概率大约只有 50%。常规业务量下基本可以当作绝不重复。
- 该不该用 UUID 作为数据库主键?
- 分布式系统中协调自增主键很麻烦,UUID 是合理选择。优先用 v7 而不是 v4——纯随机的 v4 会让 B 树索引碎片化,而 v7 的时间前缀能让新数据集中在索引尾部。
- 把 UUID 放在公开 URL 里安全吗?
- v4 无法猜测,可以当作分享链接或密码重置令牌这类「弱密钥」。v7 会泄露创建时间,如果不希望暴露时间信息,公开标识请用 v4。
- 能把 UUID 缩短一点用在网址里吗?
- 把 128 位原始字节重新编码成 base32 或 base62,可以缩到 22 到 26 个字符,唯一性完全一样,但视觉上干净许多。标准格式里的短横线只是显示约定,去掉也不影响。