收藏

開發者工具

InoTools Blog
類別:教學

什麼是 UUID?了解唯一識別碼

UUID 無處不在 — 資料庫主鍵、API 請求、會話令牌。但它們究竟是什麼,什麼時候應該使用它們?

什麼是 UUID?

UUID(Universally Unique Identifier,通用唯一識別碼)是一個 128 位元的識別碼,保證在全球範圍內是唯一的。通常以 32 個十六進位數字加連字號表示:

550e8400-e29b-41d4-a716-446655440000

UUID 有 1-5 版本,其中版本 4(隨機生成)是最廣泛使用的。

UUID 用於什麼地方?

UUID 被廣泛用於需要在系統間不會衝突的唯一識別碼的場景。

  • 資料庫主鍵 — 即使在分散式系統中 ID 也不會重複的設計
  • 工作階段管理 — 使用者工作階段的唯一識別
  • 檔案名稱生成 — 防止上傳檔案重複的唯一名稱
  • 交易 ID — 付款和訂單處理的追蹤識別碼
  • 微服務 — 服務間的請求追蹤

使用 UUID 的好處與必要性

雖然順序 ID(1, 2, 3...)更簡單,但 UUID 提供了重大優勢:

  • 分散式系統:無需中央伺服器即可生成唯一 ID

  • 安全性:與順序 ID 不同,無法猜測其他 ID

  • 遷移:不同資料庫之間不會發生 ID 碰撞

  • 微服務:在服務之間共享 ID 而不重複

  • 接近零碰撞風險 — 即使每秒生成數百萬個,持續數千年

  • 離線生成 — 無需網路連線即可建立唯一 ID

  • 不可預測 — 不規則的值提供更好的安全性

  • 標準化 — 透過 RFC 4122 進行國際標準化

如何生成 UUID

使用 本站的 UUID 產生器可以輕鬆生成 UUID。所有處理完全在您的瀏覽器中進行 — 資料永遠不會發送到外部伺服器。無需註冊,完全免費使用。

→ 立即生成 UUID

如何使用工具

  1. 開啟 UUID 產生器
  2. 指定要生成多少個 UUID
  3. 隨機 UUIDv4 值即時生成
  4. 複製生成的 UUID 以供使用

常見問題

Q. UUID 和 GUID 有什麼區別?

A. 它們本質上是同一個東西。UUID 是 RFC 4122 標準名稱,而 GUID 是 Microsoft 的術語。格式和生成方法完全相同。

Q. UUID 會碰撞嗎?

A. 理論上可能,但機率極低。UUIDv4 有大約 2^122 種可能的組合 — 生成 100 兆個 UUID 碰撞的機率仍不到十億分之一。

Q. 應該使用 UUID 作為資料庫主鍵嗎?

A. 視情況而定。對於分散式系統,UUID 是極好的選擇。對於單一資料庫,順序 ID 可能提供更好的索引效能。

相關術語

  • UUID — 通用唯一識別碼,128 位元的全球唯一值
  • GUID — 全域唯一識別碼,Microsoft 對 UUID 的稱呼
  • UUIDv4 — 使用加密隨機數生成的 UUID 版本
  • RFC 4122 — 定義 UUID 規範的國際標準