UUID 產生器
產生符合 RFC 4122 標準的多種版本 UUID(通用唯一識別碼)。密碼學安全,即時產生並支援批次處理。
產生 UUID
選擇 UUID 版本並自訂選項
產生的 UUID
點擊「產生 UUID」以建立唯一識別碼
分析與驗證 UUID
貼上任何 UUID 以驗證格式,並解碼其版本、變體與內嵌時間戳記
接受大寫、小寫、無連字號、{大括號} 及 urn:uuid: 前綴格式。
常見問題
我可以建立哪些 UUID 版本?
第 1 版(依時間)、第 4 版(隨機)、第 5 版(命名空間與名稱)、第 7 版(時間排序的隨機)以及特殊的 nil UUID,另外還可解析與驗證現有的值。
這些 UUID 具備密碼學安全性嗎?
是的。以隨機為基礎的版本使用密碼學安全的來源,適合用於不可被猜測的識別碼。
可以一次產生多個嗎?
可以。批次模式一鍵即可產生整批 UUID,並可複製或匯出,方便用於腳本和種子資料。
產生的兩個 UUID 有可能碰撞嗎?
實務上不會。隨機 UUID 擁有 122 位元的熵,意外重複的機率微乎其微。
產生的 UUID 使用什麼格式?
每個 UUID 的長度正好是 36 個字元:32 個十六進位數字按照 8-4-4-4-12 的格式分成五段,並以連字號分隔,例如 3f2504e0-4f89-41d3-9a0c-0305e82c3301。輸出為小寫,可直接貼入程式碼、設定檔或資料庫紀錄,無需另行修剪。
可以複製產生的 UUID 或將它們下載為檔案嗎?
可以。點擊任何單一 UUID 即可立即複製,或使用「全部複製」按鈕一次取得整份清單。批次結果也可以下載為純文字檔,每行一個 UUID,方便用於程式碼、試算表或測試資料。
我產生的 UUID 會被儲存或傳送到任何地方嗎?
產生過程完全在您的瀏覽器中進行,使用您裝置本身的隨機來源,因此不會傳送任何識別碼或輸入內容到伺服器。頁面載入完成後,您可以在離線狀態下繼續產生,每個 UUID 都會保密在您自己的電腦上。
可以將這些 UUID 用作資料庫主鍵嗎?
可以。UUID v4 可作為 PostgreSQL、MySQL、MongoDB 及大多數 ORM 的主鍵,因為其值在各系統間都是唯一的。對於非常大的資料表,建議改用 UUID v7:其按時間排序的數字可減少 B-tree 索引碎片化,並加快批次插入速度。
認識 UUID 版本
為您的特定用途選擇合適的 UUID 版本
UUID v1(時間型)
根據目前的時間戳記與 MAC 位址產生。可確保跨空間與時間的唯一性。
UUID v4(隨機)
使用密碼學安全亂數產生。最常使用的版本。
UUID v5(名稱型)
使用 SHA-1 雜湊從命名空間與名稱產生。相同的輸入會產生一致的 UUID。
UUID v7(時間排序)
以毫秒精確度的 Unix 時間戳記產生。可依建立時間排序。
UUID 格式(RFC 4122)
UUID 為 128 位元,以 32 個十六進位數字寫成五組 — 8-4-4-4-12 — 並以連字號分隔
五個區段
- time_low
- 8 hex · 時間戳記的低 32 位元(v1)或隨機資料
- time_mid
- 4 hex · 時間戳記的中間 16 位元
- time_hi_and_version
- 4 hex · 版本 4 位元(nibble)+ 時間戳記的高 12 位元
- clock_seq
- 4 hex · 變體位元 + 時鐘序列
- node
- 12 hex · 48 位元節點 ID(v1 中為 MAC 位址)或隨機資料
v4 碰撞機率
隨機 v4 UUID 含 122 個隨機位元——約有 5.3 × 10³⁶ 種可能的值:
| 已產生的 UUID | 碰撞機率 |
|---|---|
| 10³ | ~10⁻⁵⁴ |
| 10⁶ | ~10⁻³¹ |
| 10⁹ | ~10⁻¹⁰ |
| 2.7 × 10¹⁸ | 50% |
開發者常遇到的邊界案例
這些格式都會出現在實際系統中——驗證前請先了解
{550e8400-e29b-41d4-a716-446655440000}
某些系統(Microsoft COM、.NET 的 ToString("B"))會用大括號包住 UUID。驗證前請先去除。
urn:uuid:550e8400-e29b-41d4-a716-446655440000
URN 格式在 RDF 和 XML 文件中有效。解析前請先去除 urn:uuid: 前綴。
550E8400-E29B-41D4-A716-446655440000
十六進位不分大小寫。PostgreSQL 預設為小寫,SQL Server 預設為大寫——比較前請先統一格式。
550e8400e29b41d4a716446655440000
不含連字號的 32 字元格式常見於 API 和資料庫。顯示時請依 8-4-4-4-12 重新插入連字號。
00000000-0000-0000-0000-000000000000
Nil UUID 很特別:全為零,但仍有 36 個字元。通常代表「無值」——在商業邏輯中請將它視為 null。
v7: 01890d8f-5ce0-7a5b-9a4a-a4fa5f5e6a72
UUID v7 內嵌 Unix 毫秒時間戳——排序 v7 欄位時,資料列會依建立順序排列。
技術規格
我們的 UUID 產生器採用業界標準演算法與安全實務
安全特色
- 符合 RFC 4122 的產生方式
- 密碼學安全的隨機性(Web Crypto API)
- 僅在用戶端產生
- 實務上幾乎不會碰撞的唯一性
自訂選項
- 多種 UUID 版本(v1、v4、v5、v7、Nil)
- 批次產生(最多 100 個)
- 大寫與無連字號格式
- 即時複製與下載
參考資料與資源
-
RFC 9562 - UUIDs and ULIDs (IETF)
定義 UUID 版本、格式與產生演算法的 IETF 標準。
-
Universally Unique Identifier - Wikipedia
通用唯一識別碼及其各種變體的一般參考資料。