UltKit

UUID 產生器

一次產生 1 到 100 個隨機 version 4 UUID,並以清單形式複製。UUID 由瀏覽器內建的密碼學安全亂數產生器產生;貼上任一 UUID,檢查工具就會顯示它的版本(version)與變體(variant)。

0 個字元 · 0 個字詞 · 0 行

完全在此瀏覽器分頁中執行,您的文字不會被上傳或儲存。

UUID 版本

版本是第三組的第一個數字;變體編碼在第四組的第一個數字(RFC UUID 為 8、9、a 或 b)。範例取自 RFC 9562 的測試向量。

版本產生方式範例
v1格里曆時間戳記 + 節點(MAC)IDc232ab00-9414-11ec-b3c8-9f6bdeced846
v3命名空間 + 名稱的 MD5 雜湊5df41881-3aed-3515-88a7-2f4a814cf09e
v4122 位元隨機數919108f7-52d1-4320-9bac-f847db4148a8
v5命名空間 + 名稱的 SHA-1 雜湊2ed6657d-e927-568b-95e1-2665a8aea6a2
v6重新排列 v1 時間戳記,使 ID 可依時間排序1ec9414c-232a-6b00-b3c8-9f6bdeced846
v7Unix 毫秒 + 隨機位元,可排序017f22e2-79b0-7cc3-98c4-dc0c0c07398f
v8由應用程式自訂的結構2489e9ad-2ee2-8e00-8ec9-32d5f69181c0

什麼是 UUID?如何解讀 UUID

UUID(通用唯一識別碼,Microsoft 軟體中稱為 GUID)是一個 128 位元的數字,以 32 個十六進位數字書寫,並依 8-4-4-4-12 分成五組,例如 f47ac10b-58cc-4372-a567-0e02b2c3d479。它在 2005 年於 RFC 4122 中標準化;2024 年 5 月,該文件被 RFC 9562 取代,新文件保留原有版本並新增三個版本。其中有兩個位置是固定的:第三組的第一個數字是版本(4372 中的 4),第四組的第一個數字代表變體,凡是遵循 RFC 的 UUID,這個數字一定是 8、9、a 或 b。

第 4 版會用隨機資料填滿其餘 122 個位元。這個空間極為龐大,要產生約 2.7 百京(2.7 × 10¹⁸)個 UUID,才有 50% 的機率出現一組重複,因此系統可以在多台機器上各自獨立產生 v4 ID,不必互相協調。本頁使用 crypto.randomUUID;若瀏覽器不支援,則改用 crypto.getRandomValues,絕不使用 Math.random,因為它的輸出並非為不可預測而設計。Uppercase 與 Without hyphens 選項只會改變格式,數值本身不變,大多數剖析器也都接受大小寫兩種寫法。

v4、v7 與其他 UUID 版本

第 1 版與第 6 版由時間戳記和節點 ID 組成,節點 ID 原本是電腦的 MAC 位址,會洩漏 ID 是在何處、何時產生的。第 3 版與第 5 版會用 MD5 或 SHA-1 對命名空間與名稱進行雜湊,所以相同的輸入一定得到相同的 UUID。第 8 版是可自由定義的格式,適用於自訂方案。最值得一提的新版本是第 7 版:它以 48 位元、以毫秒為單位的 Unix 時間戳記開頭,其餘位元填入隨機值,因此 ID 可依建立時間排序。

這種排序特性,正是資料庫主鍵可以考慮 v7 的原因。隨機的 v4 主鍵會散落在 B-tree 索引的各處,隨著資料表成長,造成頁面分裂並降低快取的區域性;v7 主鍵則大致依遞增順序寫入,就像自動遞增欄位,卻不需要中央計數器就能產生。想要 ID 不透露任何資訊(包括建立時間)時選 v4;在意寫入效能與時間排序時選 v7。UUID 是識別碼,不是機密:密碼與 API 金鑰請使用專用的密碼產生器。更多編碼器與檢視工具請見開發人員工具。

常見問題

隨機產生的兩個 UUID 有可能重複嗎?
理論上會,實務上不會。有 122 個隨機位元,即使以每秒 10 億個 v4 UUID 的速度持續產生約 86 年,出現一次碰撞的機率也只有約 50%,前提是隨機來源可靠。
UUID 和 GUID 有什麼不同?
本質上沒有差別。GUID 是 Microsoft 對同一種 128 位元識別碼的稱呼。部分 Microsoft 工具會以大寫或加上大括號的方式顯示 GUID,這裡的檢查工具也能接受。
如何判斷 UUID 是哪個版本?
看第三組的第一個數字:4 代表隨機,7 代表依時間排序,1 代表時間戳記加節點。把它貼到「Check a UUID」,即可查看版本與變體。
資料庫主鍵該用 UUIDv7 而不是 v4 嗎?
通常可以。v7 主鍵依時間排序,能讓 B-tree 索引保持緊湊、寫入快速。如果不希望 v7 ID 內含的建立時間被看到,就繼續使用 v4。
用 UUID 當作重設密碼的權杖安全嗎?
安全產生器所產生的 v4 UUID 有 122 個隨機位元,已足以讓人無法猜測,但許多函式庫提供具有明確到期時間的專用權杖函式。切勿把 v1 或 v7 這類以時間為基礎的版本當作機密使用。