免費轉換器

UUID / GUID 產生器

在瀏覽器中即時產生 UUID v4 (GUID) 值。免費、私密、純用戶端 — 資料不會傳送至任何伺服器。

關於此工具

UUID(通用唯一標識符,在 Microsoft 環境中也稱為 GUID)是 128 位元標識符,可以跨系統獨立生成,衝突機率可以忽略不計。標準形式為 32 個十六進位字符,分為 8-4-4-4-12 組,以連字符分隔 (550e8400-e29b-41d4-a716-446655440000)。存在多個版本,不同的生成策略; v4(隨機)是最常見的。

v4 UUID 從 122 位隨機性中獲得其唯一性(版本和變體的 6 位是固定的)。衝突機率非常小,以至於出於實際目的,UUID 可以被視為全域唯一而無需協調 - 獨立產生 UUID 的兩個系統在任何實際時間範圍內都不會產生重複項。

此生成器以標準十六進位連字號格式產生 v4 UUID。隨機性來自瀏覽器的加密安全隨機數產生器 (window.crypto.getRandomValues),適用於安全敏感的目的。支援批量生成以填充測試裝置或種子資料庫。

為什麼產生 UUID

UUID 允許分散式系統產生標識符,而無需與中央資料庫協調。每個服務都可以在本地產生 ID,而無需往返計數器,並且保證產生的 ID 不會與其他地方產生的 ID 發生衝突。這使得 ID 產生不再是瓶頸的橫向擴展架構成為可能。

UUID 也使 ID 變得不可猜測。連續數位 ID 洩漏資訊-使用者總數、帳戶年齡、註冊速度。 UUID 沒有透露任何內容。向使用者公開 ID 的 API 可以從 UUID 中受益,這既可以提高安全性,也可以提高與分片後端的前向相容性。

使用方法

點選generate,得到一個v4 UUID。

  1. 選擇計數: 一次產生一個 UUID,或批量產生多達數千個 UUID 以填充測試資料。
  2. 選擇格式: 連字號的標準格式 (550e8400-e29b-41d4-a716-446655440000) 是預設格式。還提供緊湊(無連字號)、大寫和大括號括起來的 {550e8400-...} 變體。
  3. 產生: 瀏覽器的 crypto.randomUUID() (或使用 crypto.getRandomValues 的 v4 回退)會產生新的 UUID。每一代人都是獨立且不確定的。
  4. 複製或下載: 將單一 UUID 複製到剪貼簿或以文字或 CSV 形式下載批次清單。

常見用例

技術細節

UUID 為 128 位,顯示為 32 個十六進位數字,分為五組,以連字號分隔。分組 (8-4-4-4-12) 純粹是裝飾性的;該值是一個 128 位元整數。 v4 UUID 對 122 位元隨機性進行編碼,其餘 6 位元固定:版本欄位(4 位,值 4)標識變體。

瀏覽器支援:crypto.randomUUID() 可在現代瀏覽器(Chrome 92+、Firefox 95+、Safari 15.4+)中使用,並直接產生 v4 UUID。較舊的瀏覽器會退回到手動組合來自 crypto.getRandomValues 的 16 個隨機位元組以及正確設定的版本/變體位元。

衝突機率:對於 2^122 個可能的隨機 UUID,產生兩個相同值的機會可以忽略不計。即使產生 10^9 個 UUID,單次碰撞的機率約為 10^-18,比隨機選擇地球上的一個原子的機率低約 10 兆倍。

最佳實踐

常見問題

什麼是UUID?
UUID(通用唯一識別碼)是一個 128 位元標籤,用於唯一識別訊息,無需各方之間協調。 v4 UUID 如下圖所示:550e8400-e29b-41d4-a716-446655440000。它幾乎可以保證在全球所有系統中都是唯一的。
兩個 UUID 會相同嗎?
理論上可行,但實際上不可能。 UUID v4 有 2^122 個可能值 (5.3 × 10^36)。您需要在 100 年內每秒產生 10 億個 UUID,才有 50% 的機會發生單次碰撞。
什麼時候應該使用 UUID 和自動遞增 ID?
UUID 更適合分散式系統、離線優先應用程式以及當您不希望 ID 洩漏資訊(例如使用者計數)時。自動增量對於資料庫索引來說更簡單、更緊湊、更快。
這些 UUID 加密安全性嗎?
此工具使用 crypto.getRandomValues() 提供加密安全隨機數。 UUID v4 適用於會話令牌和標識符,但對於高安全性應用程序,請考慮專用令牌產生器。
UUID v5 或 v7 怎麼樣?
v5 從命名空間內的名稱確定性地派生出 UUID(對於內容可尋址 ID 很有用)。 v7(較新,2022 年)為字典時間排序添加了毫秒時間戳前綴。此生成器專注於 v4;如果需要,可以新增特定版本。
UUID 區分大小寫嗎?
根據規範,否 - 大寫和小寫十六進制是等效的。大多數生成器預設會產生小寫字母。比較應該不區分大小寫。
生成是在我的瀏覽器中完成的嗎?
是的。 UUID 是使用瀏覽器加密 API 在客戶端產生的。
我可以按建立時間對 UUID 進行排序嗎?
不適用於 v4 — 隨機結構沒有時間順序。對於可按時間排序的 UUID,請使用 v7(如果您接受隱私影響,則使用更早的 v1)。