UUID 產生器

批次產生 UUID v4 或 v7,可設定數量、大小寫與是否保留連字號;也能貼上既有 UUID,查看它的版本與內含的時間。


如何使用UUID 產生器

  1. 選擇「v4 隨機」或「v7 時間排序」。
  2. 在「數量」輸入 1 到 100,結果會立即更新。
  3. 依需要勾選「大寫」或「移除連字號」,已產生的 UUID 會直接換成新格式。
  4. 按「複製全部」或「下載 .txt」帶走結果;要換一批就按「重新產生」。
  5. 想知道某個 UUID 的資訊,貼到「解析 UUID」欄位即可。

UUID 是什麼?

UUID(Universally Unique Identifier,通用唯一識別碼)是 128 位元的識別碼,通常寫成 8-4-4-4-12 共 36 個字元,例如 550e8400-e29b-41d4-a716-446655440000。微軟體系常稱為 GUID,格式相同。它的好處是不需要中央伺服器協調,各台機器各自產生也幾乎不可能重複,適合當作資料庫主鍵、檔案名稱與分散式系統中的請求 ID。目前的標準是 2024 年發布的 RFC 9562,取代了舊的 RFC 4122。第三組的第一個字元代表版本,第四組的第一個字元(8、9、a、b)代表標準變體。

UUID v4 與 v7 該選哪一個?

UUID v4 除了版本與變體位元外,其餘 122 位元全部隨機,最簡單也最普遍。它的缺點是順序完全隨機,大量寫入資料庫時,B-tree 索引會在各處插入,造成頁面分裂與快取效率下降。資料量小時差異不明顯,但累積到數百萬筆以上,索引會變大、寫入也會變慢。

UUID v7 把前 48 位元換成 Unix 毫秒時間戳,後面再接隨機位元,因此依時間先後排序,寫入索引時大多附加在尾端,效能接近自動遞增整數,同時保有不可猜測的隨機部分。新專案若要拿 UUID 當主鍵,v7 通常是較好的選擇;但它會透露建立時間,若這點敏感就改用 v4。

這裡產生的 UUID 安全嗎?

v4 使用瀏覽器的 crypto.randomUUID()(不支援時改用 crypto.getRandomValues()),都是作業系統提供的加密等級亂數。v7 依 RFC 9562 第 6.2 節的方法 1,以 12 位元計數器確保同一毫秒內產生的多個 UUID 仍依順序遞增。所有 UUID 只在你的裝置上產生,不會傳送到網路。要注意 UUID 的用途是「唯一」而不是「保密」。它可以當作難以猜測的連結代碼,但不應取代密碼、API 金鑰或需要撤銷機制的存取權杖。

常見問題

UUID 真的不會重複嗎?

理論上可能,但機率極低。v4 有 122 個隨機位元,要產生約 2.7 × 10 的 18 次方個 UUID,才有 50% 的機率出現一次重複,實務上可以視為不會重複。

UUID 和 GUID 有什麼不同?

兩者指的是同一種 128 位元識別碼。GUID 是微軟使用的名稱,有時會以大寫並加上大括號表示,例如 {919108F7-52D1-4320-9BAC-F847DB4148A8}。

移除連字號後還是合法的 UUID 嗎?

內容相同,只是表示方式不同。許多資料庫與程式語言都接受 32 個字元的無連字號格式,但標準文字格式是含連字號的 36 個字元,交換資料時建議保留。

可以從 UUID 看出建立時間嗎?

v1、v6 與 v7 內含時間戳,貼到「解析 UUID」就能看到;v4 完全隨機,無法看出任何時間資訊。

最後更新: