GUID/UUID 生成器 創建唯一的 128 位元識別碼,這對於軟體開發、資料庫系統和分散式應用程式至關重要。本工具支持多種 UUID 版本、輸出格式和批量生成,是網上最全面的 UUID 生成器。
什麼是 UUID/GUID?
UUID(通用唯一識別碼)或 GUID(全域唯一識別碼)是一個 128 位元的數字,用於唯一識別計算機系統中的資訊。這些識別碼被設計為在時間和空間上都是唯一的,不需要中央註冊機構。
UUID 遵循 RFC 4122 標準,並表示為由連字符分隔的五組共 32 個十六進制數字:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
UUID 結構
組件位元描述
time_low32時間戳的低 32 位元(或 v4 的隨機數)
time_mid16時間戳的中間 16 位元
time_hi_version16時間戳的高 12 位元 + 4 位元版本號
clock_seq16時鐘序列 + 變體位元
node48節點識別碼(MAC 地址或隨機數)
UUID 版本詳解
版本 1 (基於時間)
UUID v1 使用當前時間戳和計算機的 MAC 地址生成。這提供了時間順序和近乎保證的唯一性,但可能會暴露硬體身份。最適合需要時間排序識別碼的分散式系統。
版本 4 (隨機)
UUID v4 使用加密強度的隨機數生成。這是通用目的最常用的版本。擁有 122 個隨機位元,碰撞概率極低(2.71 兆兆個 UUID 才有 50% 的碰撞概率)。
版本 5 (基於名稱 SHA-1)
UUID v5 通過使用 SHA-1 對命名空間識別碼和名稱進行哈希運算生成。這是確定性的:相同的命名空間和名稱將始終產生相同的 UUID。適用於從 URL、網域名稱或其他可識別數據生成一致的識別碼。
版本生成方法最適合
v1時間戳 + MAC 地址時間排序序列、分散式系統
v4加密隨機數通用目的、安全性敏感的應用
v5命名空間 + 名稱的 SHA-1 哈希從 URL、域名、可識別數據生成確定性 ID
GUID vs UUID:有什麼區別?
從技術上講,GUID 和 UUID 指的是同一個概念。GUID(全域唯一識別碼)是微軟在 Windows 和 .NET 環境中歷史上使用的術語,而 UUID(通用唯一識別碼)是 RFC 4122 中定義的更通用的術語。它們在功能上是相同的。
如何使用此生成器
選擇 UUID 版本: 大多數情況下選擇 v4(隨機),需要時間排序時選擇 v1(時間戳),或選擇 v5(基於名稱)進行確定性生成。
選擇輸出格式: 根據您的應用需求選擇標準小寫、大寫、無連字符、帶大括號或 URN 格式。
設置數量: 一次生成 1-100 個 UUID 以進行批量操作。
對於 v5: 選擇一個命名空間並輸入一個名稱以生成確定性的 UUID。
生成並複製: 點擊生成,並使用複製按鈕單獨複製 UUID 或一次性全部複製。
常見使用場景
資料庫主鍵: UUID 非常適合分散式資料庫,因為自動遞增 ID 會產生衝突
會話令牌: 為 Web 應用程式生成安全的唯一會話識別碼
文件和對象命名: 為上傳的文件、S3 對象或臨時文件創建唯一名稱
API 識別碼: 在 RESTful API 中將 UUID 用作資源 ID
追蹤與分析: 生成唯一的訪客 ID 或事件識別碼
消息隊列: 確保分散式消息系統中的唯一消息 ID
UUID 碰撞概率
生成重複 UUID 的概率極低。對於 UUID v4:
您需要生成 2.71 兆兆(quintillion) 個 UUID,才有 50% 的概率發生至少一次碰撞
如果每秒生成 10 億個 UUID,大約需要 85 年才能達到這個閾值
在實際應用中,UUID 碰撞對於所有現實世界的應用程式來說都是微不足道的
常見問題解答
什麼是 UUID/GUID?
+
UUID(通用唯一識別碼)或 GUID(全域唯一識別碼)是一個 128 位元的識別碼,用於唯一識別計算機系統中的資訊。它們被設計為在時間和空間上都是唯一的,不需要中央註冊機構。
UUID v1, v4, 和 v5 有什麼不同?
+
UUID v1 是基於時間的,使用時間戳和 MAC 地址。UUID v4 是隨機生成的,也是最常用的版本。UUID v5 是基於名稱的,使用命名空間和名稱的 SHA-1 哈希值,對於相同的輸入會產生確定的結果。
我應該使用哪個 UUID 版本?
+
由於其簡單性和安全性,建議在大多數情況下使用 UUID v4(隨機)。如果您需要時間排序,請使用 v1。當您需要從特定輸入(如 URL 或網域名稱)生成確定的 UUID 時,請使用 v5。
UUID 發生碰撞的機率有多大?
+
UUID 發生碰撞的機率極低。對於 UUID v4,您需要生成大約 2.71 兆兆個 UUID,才有 50% 的機率發生至少一次碰撞。在實際應用中,這對於所有現實世界的應用程式來說都是微不足道的。
GUID 和 UUID 是一樣的嗎?
+
是的,GUID 和 UUID 指的是同一個概念。GUID(全域唯一識別碼)是微軟歷史上使用的術語,而 UUID(通用唯一識別碼)是 RFC 4122 中定義的更通用的術語。它們在功能上是相同的。
額外資源
通用唯一識別碼 - 維基百科
RFC 4122: 通用唯一識別碼 (UUID) URN 命名空間
GUID 結構 - Microsoft Learn