如何產生和使用UUID

開發者

學習什麼是UUID、UUID版本之間的差異、如何產生UUID,以及何時在應用程式中使用UUID作為唯一識別碼。

步驟指南

1

了解UUID是什麼

UUID(通用唯一識別碼)是一個128位的識別碼,格式為8-4-4-4-12個十六進制數字:例如550e8400-e29b-41d4-a716-446655440000。碰撞的機率極低,幾乎不可能發生。

2

了解UUID版本

UUID v1:基於時間戳+MAC地址。UUID v4:隨機產生(應用開發最常用)。UUID v5:命名空間+名稱用SHA-1雜湊。UUID v7(較新):按時間排序的隨機,更適合資料庫索引。

3

使用我們的工具產生UUID

開啟UUID產生器,選擇版本(一般用途選v4),點擊產生。您可以產生單個或批量UUID並複製到剪貼板。

4

在程式碼中使用UUID

JavaScript:crypto.randomUUID()(內建)。Python:import uuid; uuid.uuid4()。Go:github.com/google/uuid。大多數資料庫(PostgreSQL、MySQL)都有原生UUID類型和函數。

5

何時使用UUID vs 自動遞增ID

在以下情況使用UUID:合併多個資料庫的記錄、在URL中公開ID(避免枚舉攻擊)、或在分散式系統中工作。在以下情況使用自動遞增:需要可排序的ID、更小的存儲空間或人類可讀的行號。

使用免費工具

UUID 產生器

常見問題

Q: 兩個UUID可能相同嗎?

A: 理論上可以,但機率極低(v4為1/5.3×10³⁶),在實踐中被視為不可能。UUID規範的設計就是為了避免這種情況。

Q: UUID v4是否足夠安全用於會話令牌?

A: UUID v4是隨機產生的,但在所有環境中不一定是加密安全的。對於會話令牌,請使用加密安全的隨機產生(例如Node.js中的crypto.randomBytes)。

Q: GUID是什麼?它與UUID相同嗎?

A: GUID(全局唯一識別碼)是Microsoft對UUID的稱呼。它們使用相同的格式和演算法。GUID和UUID在實踐中可以互換使用。