汉语宝典

ULID 生成器

ULID 生成器生成按字典序可排序的 26 位唯一标识符,含时间戳与随机部分,比 UUID 更适合按时间排序的数据库主键与日志追踪。

🔮 ULID Generator

📐 工作原理与说明
128 bit = 48 bit 时间戳(毫秒,大端)+ 80 bit 随机
字符串:26 字符 Crockford Base32
ULID 用 128 位表示:前 48 位是毫秒级 Unix 时间戳(大端),后 80 位是密码学安全随机值。字符串形式编码为 26 字符 Crockford Base32(去掉 I、L、O、U 避免混淆与脏词,大小写不敏感)。时间戳在高位使 ULID 天然按生成时间字典序排列,可直接作为数据库主键或日志排序键,同时避免自增 ID 暴露业务规模。80 位随机保证同一毫秒内约 1.2×10²⁴ 种取值,碰撞可忽略。
5

📚 深度解析:ULID 生成器

💡 常见使用场景

  • 可排序、26 字符、Crocksford base32 编码。
  • 给需要按时间排序的日志或事件生成 ID:字符串顺序即生成顺序,可直接用作数据库主键与范围查询条件。
生成
`01ARZ3NDEKTSV4RRFFQ69G5FAV`(前 10 字符为时间)。

❓ 常见问题(FAQ)

ULID 大小写敏感吗?
不敏感,字母表排除 I L O U 防误读。
同一毫秒内生成的会碰撞吗?
概率极低。ULID 的后 80 位是随机值,同一毫秒内约 1.2×10²⁴ 种取值;即便每秒生成百万个 ID,碰撞概率也可忽略。但要注意:若在同一毫秒内批量生成且实现存在缺陷(如随机源不当、计数器未正确递增),仍可能碰撞,应使用成熟库。
⚠️ 使用说明与注意事项
  • 本工具纯前端运行,数据不会上传到服务器
  • 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
  • 计算结果仅供参考,请以实际应用场景为准
📖关于「ULID 生成器」 ▼

📝工具简介

Generate ULIDs: lexicographically sortable 128-bit identifiers with a time prefix.