UUID / ULID 生成

UUID v4 与 ULID 在线生成:密码学随机数保证唯一,可批量生成并选择大小写与连字符格式,全部在浏览器本地生成。

常见使用场景

  • 为分布式系统的主键、请求 ID、追踪 ID 生成本地唯一标识
  • 构造测试数据,批量填充表单或数据库
  • 生成不会重名的临时文件名
  • 需要按时间排序的 ID 时改用 ULID

示例

UUID v4 格式

3f2504e0-4f89-41d3-9a0c-0305e82c3301(8-4-4-4-12 十六进制,共 36 个字符)

ULID 格式

01HZY8K3WQF7ZCJ2M8N6P4RTVX(26 位 Crockford Base32,前 10 位编码毫秒时间戳,可按创建时间排序)

关于「UUID / ULID 生成」

它是什么

UUID(通用唯一识别码)是 128 位、写成 8-4-4-4-12 十六进制串的标识符。它不依赖中心服务分配,任何一台机器都能独立生成,适合做分布式系统的主键、请求 ID、文件名等。

v4 的代价

这里的 UUID 是 v4,其中 122 位来自密码学随机数,碰撞概率低到可以忽略;代价是字符串较长(36 个字符),作为数据库主键时索引局部性较差。需要按时间排序的主键可以看 ULID 或 Snowflake。

注意

UUID 不是访问凭证:知道 ID 不代表拥有权限,权限校验必须由服务端完成。生成过程全部在浏览器本地完成,不会上传。

常见问题

UUID 会重复吗?

v4 的 122 位来自密码学随机数,随机生成数十亿个仍几乎不可能碰撞,工程上可直接当作全局唯一使用,无需中心分配。

UUID 和 ULID 该选哪个?

只要唯一性就选 UUID,生态最广、各语言都有现成实现。还需要按创建时间排序、希望字符串更短、对数据库索引局部性敏感时选 ULID。

可以把 UUID 当成访问凭证吗?

不建议。UUID 虽然难以猜测,但它不是权限:知道 ID 不代表拥有资源,鉴权必须由服务端完成。需要凭证应当使用令牌或签名。

生成的数据会上传吗?

不会。生成过程完全在浏览器内存中完成,不请求任何接口,也没有统计埋点,关闭页面即不留痕迹。

相关工具

UUID / ULID 生成在线工具由百宝匣提供:生成 UUID v4 与 ULID 随机标识。所有计算都在浏览器本地完成,不上传数据、无需注册、免费使用。