UUID / GUID 生成器
批次生成 v1、v4 或 v5 格式的 UUID,支援格式化和可選字首/字尾。
版本參考
v4 — 隨機
版本4的UUID完全由隨機(或偽隨機)位元組生成。128位中有122位是隨機的,其餘6位編碼版本(4)和變體。由於不含結構化資訊,v4 UUID是最簡單的選擇:不需要共享狀態、網路時鐘或名稱空間協調。生成重複項的機率極低。將v4用作資料庫主鍵、會話令牌以及任何需要唯一性但不需要時間排序的場景的預設選擇。
Wikipedia — UUID Version 4 (random)
v1 — 基於時間
版本1的UUID嵌入了60位時間戳(自1582年10月15日格里高利曆改革日期起的100納秒間隔)、14位時鐘序列和48位節點識別符號(歷史上是生成機器的MAC地址)。由於時間戳是最重要的組成部分,v1 UUID在按字典序比較時按時間順序排列——這對聚集資料庫索引很有用。缺點是隱私:v1 UUID會洩露機器的MAC地址和確切的建立時間。
Wikipedia — UUID Version 1 (time-based)
v5 — 名稱空間 + 名稱 (SHA-1)
版本5的UUID是確定性的:給定相同的名稱空間UUID和相同的名稱字串,輸出始終相同。該演算法將名稱空間位元組和UTF-8編碼的名稱連線起來,用SHA-1對其進行雜湊處理,然後將160位摘要摺疊為128位。這使v5非常適合生成穩定、可重現的識別符號。v3使用MD5;v5因SHA-1產生更少碰撞而受到青睞。