工具說明
關於 UUID 產生器
UUID v4 Generator 用來產生隨機的 128 位元識別碼,適合請求 ID、資料庫 key、測試資料與追蹤 ID。
工具支援批次產生、大小寫切換、移除連字號,也提供適合按時間排序的 UUID v7。
如何使用 UUID v4 Generator
- 選 UUID v4 產生隨機 ID;需要依建立時間排序時選 UUID v7。
- 先設定數量再產生,可用於 fixture、種子資料或手動測試。
- 只有舊系統要求時才開啟大寫;一般 Web 與 JSON 慣例是小寫。
- 只有目標欄位或協定要求 32 字元緊湊格式時才移除連字號。
常見使用場景
- 為 API 請求建立 correlation ID,串起不同服務的日誌。
- 產生穩定測試記錄,不依賴資料庫 sequence 或自增值。
- 為 mock JSON、OpenAPI 範例或前端 fixture 準備占位 ID。
- 事件列或稽核記錄需要大致依建立時間排序時使用 UUID v7。
UUID 格式與實務細節
標準 UUID 含連字號共 36 個字元,通常以 8-4-4-4-12 的十六進位分組顯示。UUID v4 是隨機型;UUID v7 結合時間戳與隨機位元組。
- UUID v4: 隨機識別碼,適合大多數應用 ID 與請求 ID。
- UUID v7: 時間有序識別碼,適合資料庫索引受插入順序影響的場景。
- 無連字號格式: 同一個 128 位元值,只是移除分隔符。
- 大小寫: UUID 是十六進位表示,通常比較時大小寫等價。
UUID 產生器常見問題
- UUID v4 真的唯一嗎?
- 它是機率唯一。使用安全隨機來源時,碰撞機率極低,足以應付一般應用 ID。
- 什麼時候該用 UUID v7?
- 當你希望 ID 大致依建立時間排序,例如 logs、events 或資料庫索引,就適合 UUID v7。
- UUID 應該大寫還是小寫?
- 小寫是常見 Web 與 JSON 慣例;大寫主要用於特定舊系統或文件要求。
- 可以移除連字號嗎?
- 可以,值等價。但除非欄位或 API 契約要求緊湊 ID,否則建議保留標準格式。
- 產生的 UUID 會上傳嗎?
- 不會。產生與格式化都在瀏覽器本機完成,不會上傳到 wetool.site。
UUID 與自增 ID
自增 ID 短且易讀,但需要中心資料庫 sequence。UUID 較長,卻適合跨 client、queue 與分散式服務先建立記錄。
什麼時候適合用 UUID v4
UUID v4 適合離線產生、跨系統合併或不想暴露遞增 ID 的場景,但不是所有 ID 的預設答案。
- 用戶端暫時 ID、分散式工作 ID、測試 fixture 與公開分享連結適合用隨機 UUID。
- 資料庫主鍵如果很在意索引局部性,需評估 UUID v7、ULID 或資料庫自動遞增 ID。
- 不要把 UUID 當成權限憑證;難猜不等於有存取控制。
碰撞機率與隨機來源
v4 UUID 的可靠性來自高品質亂數來源。瀏覽器應使用 Web Crypto 等級亂數,不是 Math.random()。
- 標準 v4 UUID 約有 122 位隨機空間,正常業務量下碰撞機率極低。
- 批量產生後仍可做重複值檢查,發現複製貼上或腳本重複使用錯誤。
- 如果 ID 需要按時間排序或做日誌追蹤,UUID v4 不含時間資訊,需另存 created_at 或選時間有序 ID。