UUID 生成器
批量生成 UUID v4(随机)与 v7(时间有序)
选择版本、数量和大小写后点击生成;v4 是随机标识,v7 包含毫秒时间,同一毫秒内不保证严格递增。
示例
输入
版本:4 · 数量:1
示例结果
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
y ∈ {8, 9, a, b}这是格式示意,每次生成的实际值都会变化。
技术细节与边界
UUID 共 128 位,以 8-4-4-4-12 的十六进制分组表示。v4 除版本与变体位外有 122 个随机位;此处 v7 使用 48 位 Unix 毫秒时间及随机字段,随机数来自 crypto.getRandomValues。同一毫秒内没有单调计数器,不保证生成顺序等于排序顺序。
关于此工具
批量生成 UUID v4 或 v7,可选择数量与字母大小写并复制结果。v4 适合随机标识,v7 在开头携带毫秒时间,便于观察大致生成顺序。
适用场景
- 给数据库表生成一批测试主键。
- 在分布式系统里生成消息 / 会话 ID。
- 为要按创建时间排序的记录选择 UUID v7,避免索引反复分裂。
操作步骤
- 选择版本 (v4 或 v7)、数量、是否大写。
- 点击“生成”,结果每行一个,可一键复制。
注意事项
v4 使用密码学随机数。这里的 v7 按毫秒时间加随机字段生成,同一毫秒内不保证严格递增。
常见问题
- v4 和 v7 应该怎么选?
- 需要完全随机、无时间信息用 v4;需要按创建时间大致排序(数据库主键、日志键)用 v7。v7 在 B+ 树索引上表现好得多。
- UUID 有多“唯一”?
- v4 有 122 个随机位,碰撞概率取决于生成数量,不能脱离数量给出固定概率。数据库仍应设置唯一约束并处理极小概率的冲突。
- 为什么两次生成的 v7 前缀几乎一样?
- v7 前 48 位就是毫秒时间戳。同一秒内生成的多条 UUID 前缀相同,只有后半段(随机部分)不同——这正是它「时间有序」的原因。
- v7 会暴露生成时间吗?
- 会,前 48 位包含毫秒时间。不要把 UUID 当作访问密钥;唯一标识与不可猜测的授权令牌是不同需求。
- 大写与小写 UUID 是不同的标识吗?
- 字母大小写不改变其十六进制值,但目标系统的字符串比较可能区分大小写。存储和比较时应采用统一表示,并遵循接口约定。
相关工具