Ad
DevToolXDevToolX

UUID 產生器

批量產生 UUID v4

關於 UUID 產生器

UUID(Universally Unique Identifier)是 128 位元的識別碼,規格定義於 RFC 4122。這個工具透過瀏覽器的 `crypto.randomUUID()` 產生 v4 UUID——純隨機、不需任何中央協調。v4 適合幾乎所有情境:分散式主鍵、冪等性 key、檔案命名、log correlation ID。如果你需要帶時間排序的 UUID 拿來做資料庫索引,請考慮 v7(RFC 9562),用 `uuid` v9+ 之類的函式庫在後端產生——本工具不支援。

常見使用情境

分散式系統的主鍵
在應用層先產生 UUID,再把資料插入資料庫,多個服務可以同時新增記錄,不需要集中的序列號產生器,也不必多一次資料庫來回。
API 重試的冪等性 Key
每次呼叫 API 時帶上一個新產生的 UUID 作為 Idempotency-Key。若網路逾時後重試,伺服器能辨識出重複請求並回傳原始結果,而不會執行兩次操作。
不撞名的檔案與物件命名
以 UUID 命名上傳檔案或雲端儲存物件,無需任何協調邏輯就能確保多用戶、多環境間不重複。
分散式追蹤的 Correlation ID
在入口處將 UUID 注入 X-Request-ID 或 trace-id header,並帶進所有下游服務,讓同一個請求的所有 log 都能串在一起查詢。

常見問題

什麼時候該用 v7 而不是 v4?

當 UUID 會當資料庫主鍵時用 v7——它的毫秒時間戳前綴讓插入操作循序、index pages 保持熱、IDs 自然按建立時間排序。其他情境用 v4(本工具產生的版本)就好,更簡單。需要 v7 就在後端用 `uuid` v9+ 之類的函式庫產生。

v4 UUID 碰撞的機率有多高?

極低。要讓碰撞機率達到 50%,必須產生約 2.71 × 10^18 個(大約 2^61)UUID。在任何實際應用中這都不是需要擔心的問題。

為什麼不該把 UUID 用在短網址或用戶可見的 ID?

標準 UUID 是 36 個字元(32 個十六進位 + 4 個連字號),放進 URL 太長、不好記、視覺上很雜亂。如果要面向用戶,可以考慮 nanoid 或 base-62 編碼的隨機整數。

v1 跟 v4 差別在哪?

v1 把產生機器的 MAC 位址跟高解析時間戳寫進 ID 裡,會洩漏基礎設施資訊。v4 則是純隨機沒有任何可辨識資料。現代系統應避免 v1 以免暴露隱私;如果需要時間排序用 v7 即可。

UUID 適合當安全性 token 嗎?

v4 UUID 有 122 位元的隨機性,理論上夠用。但對於密碼重設連結等安全敏感的 token,還是建議用專門的函式庫(如 Node.js 的 crypto.randomBytes)更為妥當。

相關工具