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.