UUID UUID Generator

免费 · 无需注册 · 无需安装

UUID v4 生成器

生成由密码学随机数构成的 UUID v4 —— 这也是绝大多数场景应该使用的版本。

  • 122 位随机数
  • 在设备上生成
  • RFC 4122 / 9562

UUID v4 生成器

v4
范围为 1 至 1000。
格式

结果 0

    所有值都在你的设备上用 Web Crypto API 生成,不会发送到浏览器之外的任何地方。 快捷键:Ctrl + Enter — 重新生成

    什么是UUID v4

    UUID v4 是使用最广泛的版本。除了版本号和变体号占用的 6 位之外,剩下的 122 位全部来自加密随机源,不包含时间、硬件地址或任何其他可被推断的信息。

    由于不含任何标识性信息,v4 不会泄露生成时间和机器身份。代价是它无法按生成顺序排序:要做数据库索引键,通常应该选 v7。

    使用方法

    1. 选择 v4(本页已默认选中)。
    2. 按需要设置数量,最多 1000 条。
    3. 点击生成 UUID,或按 Ctrl + Enter
    4. 用「全部复制」或下载按钮把结果取走。

    适用场景

    • 数据库主键和分布式系统中的唯一标识。
    • 接口返回的资源 ID、请求追踪号和会话标识。
    • 任何不需要排序、也不应泄露时间信息的地方。

    结构

    第 13 位十六进制数是版本号(4),第 17 位是变体号(8、9、a 或 b);其余 30 位十六进制数都是随机数。

    UUID v4 的定位

    什么时候该用哪个选项
    选项何时使用
    v4纯随机,也是默认选择
    v7写入带索引的列时更合适,值集中在索引末端
    v1会暴露生成时间与节点信息,仅用于遗留系统

    UUID 各版本速查表

    版本可排序数据来源适合的场景
    v1不可以时间戳 + MAC 地址仍在依赖 v1 的既有系统
    v3不可以名称的 MD5 哈希必须使用 MD5 时的确定性标识符
    v4不可以122 位随机数绝大多数普通的唯一标识需求
    v5不可以名称的 SHA-1 哈希需要同一名称始终得到同一标识符
    v6可以重排后的时间戳既要随机性又要便于排序
    v7可以毫秒精度的 Unix 时间数据库主键和事件标识符
    v8不可以自定义位布局专有格式和实验性用途

    这七个版本都是 128 位,都用同样的 8-4-4-4-12 写法表示,区别只在于各个位代表什么。

    代码示例

    javascript

    // 浏览器与 Node 18+
    const id = crypto.randomUUID();

    python

    import uuid
    id = str(uuid.uuid4())

    java

    String id = java.util.UUID.randomUUID().toString();

    csharp

    var id = Guid.NewGuid().ToString();

    sql

    -- PostgreSQL 13+
    SELECT gen_random_uuid();

    常见问题

    v4 会重复吗?

    122 位随机的组合数是 2122,约 5.3 × 1036。要让重复概率达到 50%,需要生成约 2.7 × 1018 个值,即使每秒生成十亿个也要几十亿年。

    v4 安全吗?

    安全,前提是随机源本身可信。本页使用浏览器的 Web Crypto API(crypto.getRandomValues),这正是 RFC 4122 对 v4 所要求的方式。

    v4 能排序吗?

    不能。v4 的位是随机分布的,按字典序排列并不对应生成时间。如果需要可排序的标识符,请使用 v7。