UUID 生成器 - 在线批量生成随机 UUID v4 和 GUID
在线生成随机 UUID v4 和 GUID,支持批量生成、大小写切换和格式转换,适合测试数据、数据库主键和接口样例构造。
功能特点
- 生成标准 UUID v4 / GUID 字符串
- 支持批量生成,快速构造测试数据
- 支持大小写和格式转换,适配不同系统要求
- 无需后端请求,适合临时生成唯一标识
使用方法
- 选择需要生成的 UUID 数量和格式
- 生成随机 UUID v4 或调整大小写输出
- 复制结果用于测试数据、接口样例或数据库记录
示例输入
UUID v4 测试数据
生成 10 个 UUID v4 用途:Mock API 用户 ID适合构造随机测试数据;v4 主要提供随机性,不表达时间或业务顺序。 UUID v4 使用随机值,输出只是格式示例,每次运行都会变化。
GUID 格式兼容
UUID:550e8400-e29b-41d4-a716-446655440000 输出:大写 / 小写 / 带连字符适合对照 .NET、数据库和接口文档中的 GUID/UUID 字符串格式。 UUID v4 使用随机值,输出只是格式示例,每次运行都会变化。
数据库主键讨论
表:orders 候选:UUID v4 / 自增 ID / 排序 ID适合在设计阶段比较随机 UUID、可排序 ID 和自增主键的索引与暴露风险。 UUID v4 使用随机值,输出只是格式示例,每次运行都会变化。
UUID v5 概念示例
命名空间 + name -> 稳定 ID 注意:当前工具生成随机 UUID v4,不执行 v5 派生适合区分随机 ID 与基于命名空间和名称确定性生成的 UUID v5。 UUID v4 使用随机值,输出只是格式示例,每次运行都会变化。
示例输出
UUID v4 测试数据
示例:550e8400-e29b-4c7d-a716-446655440000 等 10 个 UUID v4;每次生成值不同GUID 格式兼容
550E8400-E29B-41D4-A716-446655440000 / 550e8400-e29b-41d4-a716-446655440000 / 550e8400e29b41d4a716446655440000数据库主键讨论
对比:UUID v4 无需中心分配但索引局部性较差;数据库仍须设置唯一约束UUID v5 概念示例
当前工具不生成 v5;相同命名空间与 name 的 v5 才会得到稳定 ID
常见错误
- UUID v4 是随机标识,不保证严格排序,也不等于数据库自增主键。
- GUID 通常是 UUID 的另一种称呼或字符串表现形式,但具体系统可能有大小写、连字符和字节序差异。
- UUID v5 需要命名空间和名称进行确定性计算,不能用随机 v4 替代幂等键或稳定映射。
- UUID 唯一性概率很高但不是绝对数学保证,业务仍应设置唯一约束并处理冲突。
- 把 UUID 当作数据库主键时还要考虑索引大小、随机写入、排序查询和日志可读性。
适用场景
- Mock API 和测试数据
- 接口请求 ID / 幂等键样例
- 数据库主键方案讨论
- GUID 格式兼容检查
- 设备和资源标识生成
实操检查
核对 UUID v4 位和格式选项
固定输入:数量 1、大写关闭、保留横杠开启;步骤:点击“生成 UUID”,用正则 ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ 检查结果,再切换大写开启和横杠关闭生成一次;预期结果:第一次匹配小写带横杠 v4,第二次匹配大写 32 字符无横杠格式;失败判断:版本位不是 4、变体位不在 8/9/a/b,或选项没有影响输出。
核对数量边界
固定输入:数量 200;步骤:点击“生成 UUID”,统计输出行数;再输入 0 重复生成;预期结果:200 被限制为 100 行,0 被限制为至少 1 行,所有行分别满足所选 UUID 格式;失败判断:生成超过 100 行、0 行,或数量异常导致页面抛出未处理错误。
页面专属核验
使用前与操作中
- 先确认需要的是随机 UUID v4 测试值;实现使用 crypto.randomUUID 或 getRandomValues 设置版本/变体位,不提供名称型、时间型或数据库存在性校验。
- 批量数量会先取整并限制在 1 到 100;大于 100 不会继续生成,大小写和是否带连字符只改变表示,不改变 UUID 的随机标识。
- 将结果用于测试夹具、Mock 或样例时记录格式要求;UUID 碰撞概率低不等于业务唯一约束、授权凭证或数据库主键策略已经被验证。
结果出来后
- 默认生成值是否匹配带连字符的 UUID v4 形状,第三段以 `4` 开头、第四段以 `8/9/a/b` 开头,而不是只检查长度?
- 设置 uppercase=true、hyphenated=false 时,是否得到 32 位大写十六进制字符串,并确认这只是格式变换而非新类型?
- 请求 count=200 时是否恰好生成 100 个;将生成结果写入目标数据库或接口时,是否仍由目标系统执行唯一约束、字段长度和安全用途校验?
相关工具
- Mock Data 生成器:生成姓名、邮箱、地址等前端测试 JSON 数据
- JSON Mock API 生成器:生成含 status、endpoint 和固定 name/email data 的本地 JSON
- Hash 与签名:统一生成文本 Hash、文件 Hash、HMAC 签名和 Bcrypt 密码哈希
- 时间戳转换:Unix 时间戳与日期时间相互转换
工具边界
- 当前页面主要生成和格式化 UUID v4,不提供 v5、ULID、UUIDv7 或分布式 ID 的完整实现。
- 生成结果不能替代数据库唯一约束、幂等设计和权限校验。
- UUID 不包含业务语义,也不应直接暴露为安全凭据。
与相似工具的区别
- Mock Data 生成器:UUID 工具只生成与格式化标识符;Mock Data 同时构造姓名、时间、状态等完整测试记录。
安全与兼容性
- UUID v4 由浏览器随机源生成,但它不是密码、会话 Token 或不可猜测授权机制的替代品。
- 数据库仍需唯一约束;对写入热点和时间排序敏感的表,应评估 UUIDv7、ULID 或数据库原生策略。
下一步排查
- 先明确需要随机、确定性还是可排序的标识。
- 再结合 Mock API、Hash 和时间戳工具核对数据生成及日志关联方案。
- 落地数据库时用目标数据库的唯一索引、写入压测和迁移方案验证。
常见问题
UUID v4、v5 和 GUID 有什么区别?
v4 基于随机数,v5 基于命名空间和名称确定性生成;GUID 通常是 UUID 的兼容称呼,具体格式和字节序要看平台。
UUID 适合直接做数据库主键吗?
可以,但需结合索引大小、写入顺序、分片和查询模式选择。高写入表可能更适合可排序 ID 或专门的分布式 ID 方案。
UUID 能代替密码或安全 Token 吗?
不能。UUID 是标识符,不提供权限、机密性或防猜测的业务语义;安全 Token 需要独立的随机性、过期和撤销设计。