UUID v5 生成器

🆔 UUID v5 Generator

📐 工作原理與說明
UUID = SHA-1(名稱空間 UUID ‖ 名字) 取前 128 bit
再置版本位 = 5、變體位 = 10
UUID v3/v5 是基於名字的確定性 UUID:把「名稱空間 UUID 的 16 位元組」與「名字的位元組序列」拼接後做雜湊(v3 用 MD5,v5 用 SHA-1),取摘要前 16 位元組,再把版本號寫為 5、變體位置為 10。因為輸入確定則輸出確定,同一名稱空間 + 同一名字永遠得到同一 UUID,適合作為「由業務鍵派生的穩定標識」(如用域名名稱空間 + 使用者名稱生成使用者 ID)。注意它不具備不可預測性,不能當金鑰或令牌使用。

📚 深度解析:UUID v5 生成器

💡 常見使用場景

  • 基於名稱空間+名稱的確定性 UUID,同名必同 ID。
  • 由業務鍵穩定派生標識:用同一名稱空間加同一使用者名稱,任何時刻都能得到同一個 UUID,適合做去重鍵。
生成
namespace=DNS, name="example.com" → 固定 `aad6f...`(SHA-1 名稱空間)。

❓ 常見問題(FAQ)

v5 為何可復現?
輸入(名稱空間+名稱)相同輸出必相同。
名稱空間該用什麼?
標準定義了四個:DNS(域名)、URL、OID(ISO 物件標識)與 X500(DN)。選擇與業務鍵性質匹配的那個——用域名派生就用 DNS 名稱空間。也可用任意 UUID 作為自定義名稱空間,但必須在文件中固定下來,否則換一個名稱空間結果就全變了。
⚠️ 使用說明與注意事項
📖關於「UUID v5 生成器」 ▼

📝工具簡介

Generate deterministic UUID v5 identifiers from a namespace and a name.