KSUID 生成器

🆔 KSUID Generator

📐 工作原理与说明
20 字节 = 4 字节时间戳(秒,大端)+ 16 字节随机
字符串形式:27 字符 base62
KSUID(K-Sortable Unique ID)把「可按时间排序」与「全局唯一」结合:前 4 字节是大端 Unix 秒级时间戳,后 16 字节为密码学随机负载。字节形式 20 字节,字符串形式编码为 27 字符 base62。因为时间戳在高位,KSUID 的字符串比较顺序即生成时间顺序,可直接用作数据库主键或日志排序键,同时避免自增 ID 暴露业务量。碰撞概率由 16 字节随机(2¹²⁸ 空间)保证,实践中可忽略。
5

📚 深度解析:KSUID 生成器

💡 常见使用场景

  • K-Sortable Unique ID,时间前缀可排序。
  • 给日志或事件流生成可排序 ID:按 KSUID 的字符串顺序即可还原生成时间,便于按时间范围检索。
生成
`0ujtsy1p8c9r1l0b0p0n000000` 前 32 位为时间。

❓ 常见问题(FAQ)

KSUID 与 ULID 区别?
都时间排序,编码与长度不同。
KSUID 的时间精度够吗?
KSUID 的时间戳是秒级(4 字节),同一秒内的多个 ID 顺序由后面的随机部分决定,不再保证严格时序。若业务需要毫秒级排序(如高频事件),应选时间戳为毫秒的 ULID;KSUID 的优势在于字符串更短(27 字符)且基准时间从 2014 年起。
⚠️ 使用说明与注意事项
📖关于「KSUID 生成器」 ▼

📝工具简介

Generate KSUIDs: time-sortable 27-character identifiers with a 20-byte random payload.