ULID / NanoID / CUID2 生成器
开发
面向分布式系统的 3 种现代 ID。**ULID** 26 字符,按时间字典序可排(48 位时间戳 + 80 位随机)。**NanoID** 可自定义字母表的随机 ID——与 UUIDv4 同安全强度,更短且 URL 安全。**CUID2** 抗碰撞、无指纹、默认安全。全部使用 `crypto.getRandomValues` + 拒绝采样保证均匀分布。
—
说明
ULID:26 字符 · 48 位时间戳 + 80 位随机 · Crockford Base32 · 按时间可排序。
使用方法
- 选择方案(ULID、NanoID、CUID2)。
- NanoID/CUID2 选长度;NanoID 可选编辑字母表。
- 设定数量并生成,可单条或一次性复制。
常见问题
- ULID 与 UUIDv4 区别?
- 两者均为 128 位随机,但 ULID 前 48 位编码时间戳——后生成的 ID 排在后面,对数据库主键有用。
- 为何用 NanoID 而非 UUID?
- 更短(21 vs 36)、默认 URL 安全、字母表可配置。默认长度下与 UUIDv4 同等加密强度。
- CUID2 安全吗?
- 安全——使用密码学 RNG,长度可调。设计上不嵌入时间戳/指纹以防泄露。
- 是 RFC 标准吗?
- ULID 有社区规范;NanoID 与 CUID2 是事实标准,没有像 UUID 那样的 RFC 编号。