工具说明
关于 UUID 生成器
UUID v4 Generator 用来生成随机的 128 位标识符,适合请求 ID、数据库主键、测试数据和链路追踪 ID。
工具支持批量生成、大小写切换、去除连字符,也提供适合按时间排序的 UUID v7。
如何使用 UUID v4 Generator
- 选择 UUID v4 生成随机 ID;需要按创建时间排序时选择 UUID v7。
- 设置数量后生成批量 ID,可用于 mock 数据、测试夹具或手工联调。
- 只有旧系统要求时才开启大写;Web 和 JSON 场景通常使用小写。
- 仅在字段或协议要求紧凑格式时去除连字符。
常见使用场景
- 为 API 请求生成 correlation ID,方便串联多服务日志。
- 生成测试记录 ID,不依赖数据库自增序列。
- 为 mock JSON、OpenAPI 示例或前端 fixture 准备占位 ID。
- 事件表或审计记录需要大致按时间排序时使用 UUID v7。
UUID 格式与实用细节
标准 UUID 包含连字符共 36 个字符,通常按 8-4-4-4-12 的十六进制分组展示。UUID v4 是随机型,UUID v7 则把时间戳和随机字节结合起来。
- UUID v4: 随机标识符,适合大多数应用 ID 和请求 ID。
- UUID v7: 时间有序标识符,适合数据库索引受插入顺序影响的场景。
- 无连字符格式: 仍是同一个 128 位值,只是去掉分隔符。
- 大小写: UUID 是十六进制表示,正常比较时大小写代表同一个值。
UUID 生成常见问题
- UUID v4 真的唯一吗?
- 它是概率唯一。使用安全随机源时,碰撞概率极低,足以满足常见应用 ID 场景。
- 什么时候用 UUID v7 而不是 v4?
- 当 ID 需要大致按创建时间排序时使用 UUID v7,例如日志、事件或数据库索引。
- UUID 应该大写还是小写?
- 小写是 Web 和 JSON 中更常见的写法;大写主要用于旧系统或文档格式要求。
- 可以去掉连字符吗?
- 可以,值等价。但除非存储字段或 API 契约要求紧凑 ID,否则建议保留标准连字符格式。
- 生成的 UUID 会上传到服务器吗?
- 不会。生成和格式化都在浏览器本地完成,不会上传到 wetool.site。
UUID 与自增 ID 的区别
自增 ID 短且易读,但依赖中心数据库序列。UUID 更长,却适合客户端、队列和分布式服务先创建记录再入库的流程。
什么时候适合用 UUID v4
UUID v4 适合需要离线生成、跨系统合并或不想暴露递增 ID 的场景,但它不是所有 ID 的默认答案。
- 客户端临时 ID、分布式任务 ID、测试 fixture 和公开分享链接适合用随机 UUID。
- 数据库主键如果非常在意索引局部性,需评估 UUID v7、ULID 或数据库自增 ID。
- 不要把 UUID 当成权限凭证;可猜难度高不等于有访问控制。
碰撞概率与随机数来源
v4 UUID 的安全性来自高质量随机数。浏览器应使用 Web Crypto 级别随机源,而不是 Math.random()。
- 标准 v4 UUID 约有 122 位随机空间,正常业务量下碰撞概率极低。
- 批量生成后仍可用去重检查发现复制粘贴或脚本复用错误。
- 如果 ID 需要按时间排序或做日志追踪,UUID v4 不包含时间信息,需另存 created_at 或选择时间有序 ID。