CodeToolProCodeToolProFree Online Developer Tools
GitHub

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),它们更高效且集成到应用的运行时环境中。