ULID 生成器

🔮 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,碰撞機率也可忽略。但要注意:若在同一毫秒內批次生成且實現存在缺陷(如隨機源不當、計數器未正確遞增),仍可能碰撞,應使用成熟庫。
⚠️ 使用說明與注意事項
📖關於「ULID 生成器」 ▼

📝工具簡介

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