
什麼是 UUID?
UUID (Universally Unique Identifier) 是一種 128 位元的識別碼,用於在軟體系統中唯一地識別資訊。
UUID 的最大優點在於它們可以在分散式系統中獨立生成,無需中央管理機構,且重複的可能性極低。
主要版本差異
雖然 UUID 有多種版本,但現代開發中最常用的三種是:
1. Version 4 (隨機)
最廣泛使用的格式,由 122 位元的隨機資料組成。
- 特徵: 不可預測且易於生成。
- 用途: 會話 ID、用戶 ID、臨時權杖 (Token) 等。
2. Version 7 (Unix Epoch timestamp + 隨機)
較新的標準(2024 年正式標準化),在開頭包含時間戳記。
- 特徵: 可按時間排序 (Lexicographically sortable)。
- 用途: 資料庫主鍵 (PK)。非常適合在確保唯一性的同時,維持 B-tree 索引的效率。
3. Version 1 (時間戳記 + MAC 地址)
結合生成機器的 MAC 地址與時間戳記。
- 特徵: 可以識別 ID 建立的時間與地點。
- 用途: 遺留系統或需要設備級唯一性的場景。
資料庫主鍵選用:UUID vs. 自動遞增 ID
| 特徵 | 自動遞增 ID (Auto Increment) | UUID (v4) | UUID (v7) |
|---|---|---|---|
| 分散式環境 | 困難(需要同步) | 容易(解耦合) | 容易(解耦合) |
| 預測可能性 | 高(易受攻擊) | 低(安全性高) | 低(安全性高) |
| 排序順序 | 按 ID 順序 | 隨機 | 按時間順序 (時序) |
| 資料庫效能 | 高 | 低 | 高(對 B-tree 友善) |
在 DevToolKits 生成 UUID
我們的 UUID 生成工具 讓您可以立即生成多個 UUIDv4,並只需點擊一下即可複製。非常適合在開發過程中建立測試資料。
💡 提示: 對於安全性至關重要的應用(如 API 金鑰),請務必確保使用的是具有足夠熵 (Entropy) 的隨機生成器。