UUID Generator
Configuration
- Hyphens
- Uppercase
- UUID versionChoose the version of UUID to generate
Generate
×
UUID(s)
技术详情
UUID 生成器的工作原理
工具功能
UUID 生成器可批量生成符合 RFC 4122 规范的全局唯一标识符。工具支持 UUID v1(基于时间戳和 MAC 地址)和 UUID v4(基于随机数)两种版本,可配置是否包含连字符、是否大写,单次可生成 1 到 1000 个 UUID。生成的 UUID 格式为标准的 8-4-4-4-12 十六进制字符串。
常见开发者使用场景
UUID 在软件开发中是通用的唯一标识方案。在数据库中作为主键,UUID 比自增 ID 更适合分布式系统,因为不同节点生成的 UUID 不会冲突;在文件系统中作为文件名防止重复;在 API 中作为请求追踪 ID(traceId)实现分布式链路追踪;在前端应用中生成组件 key 或临时标识符;在消息队列中作为消息 ID。几乎每个应用的数据库都会用到 UUID。
UUID 生成后可以使用 Base64 编码器 转为更短的字符串进行传输,或使用 文本检查器 分析 UUID 的字符组成和长度。
UUID 版本差异
不同 UUID 版本有不同的生成方式和用途:
- UUID v1:基于时间戳(100 纳秒精度)和节点 MAC 地址生成。优点是可排序,缺点是暴露生成时间和机器信息。适用于日志追踪和时间序列场景。
- UUID v4(GUID):基于随机数或伪随机数生成。优势是完全随机、不可预测、不泄露系统信息。缺点是数据库插入效率可能较低(非顺序写入)。
- UUID v3/v5:基于命名空间和名称的哈希生成,相同输入始终生成相同 UUID。适用于根据已知数据生成确定性标识符。
- UUID v7:较新的版本,结合时间戳和随机数,兼顾排序性和随机性,适合数据库高效索引。
常见陷阱与注意事项
- 数据库性能:UUID v4 作为主键时,由于是随机值,会导致 B+Tree 索引频繁页分裂,影响插入性能。MySQL 中推荐使用 UUID v7 或自定义有序 UUID。
- 碰撞概率:UUID v4 使用 122 位随机数,碰撞概率极低(约 2.7×10^-16 生成 10 亿个后),实际上可认为不会碰撞。但不应依赖 UUID 作为唯一的安全密钥。
- 大小写:UUID 规范中使用小写十六进制,但实际使用中对大小写不敏感。该工具提供大小写切换以适配不同的 API 要求。
- 隐私考虑:UUID v1 包含 MAC 地址信息,可能被用于追踪系统。如需隐私保护,优先选择 UUID v4。
何时使用此工具而非代码
在需要快速生成测试数据、创建示例标识符、或进行一次性 UUID 需求时使用此工具。对于应用代码中的 UUID 生成,推荐使用编程语言的 UUID 库(如 JavaScript 的 crypto.randomUUID()、Python 的 uuid 模块、Java 的 java.util.UUID),它们更高效且集成到应用的运行时环境中。