UUID 產生器
批次產生 UUID v4(隨機)與 v7(時間有序)
選擇版本、數量和大小寫後點擊生成;v4 是隨機標識,v7 包含毫秒時間,同一毫秒內不保證嚴格遞增。
範例
輸入
版本:4 · 數量:1
示例結果
xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx
y ∈ {8, 9, a, b}這是格式示意,每次生成的實際值都會變化。
技術細節與邊界
UUID 共 128 位,以 8-4-4-4-12 的十六進制分組表示。v4 除版本與變體位外有 122 個隨機位;此處 v7 使用 48 位 Unix 毫秒時間及隨機字段,隨機數來自 crypto.getRandomValues。同一毫秒內沒有單調計數器,不保證生成順序等於排序順序。
關於此工具
批量生成 UUID v4 或 v7,可選擇數量與字母大小寫並複製結果。v4 適合隨機標識,v7 在開頭攜帶毫秒時間,便於觀察大致生成順序。
適用場景
- 為資料庫產生測試主鍵。
- 在分散式系統產生訊息 / 會話 ID。
- 為需要按建立時間排序的紀錄選 v7,避免索引分裂。
操作步驟
- 選擇版本 (v4/v7)、數量、是否大寫。
- 點擊“生成”,結果每行一個,可一鍵複製。
注意事項
v4 使用密碼學隨機數。這裡的 v7 按毫秒時間加隨機字段生成,同一毫秒內不保證嚴格遞增。
常見問題
- v4 與 v7 怎麼選?
- 要完全隨機用 v4;要按建立時間大致排序用 v7。v7 在 B+ 樹索引上表現好很多。
- UUID 有多「唯一」?
- v4 有 122 個隨機位,碰撞概率取決於生成數量,不能脫離數量給出固定概率。數據庫仍應設置唯一約束並處理極小概率的衝突。
- 為什麼兩次產生的 v7 前綴幾乎一樣?
- v7 前 48 位就是毫秒時間戳;同一秒內的 UUID 前綴相同,只有後段亂數不同。
- v7 會暴露生成時間嗎?
- 會,前 48 位包含毫秒時間。不要把 UUID 當作訪問密鑰;唯一標識與不可猜測的授權令牌是不同需求。
- 大寫與小寫 UUID 是不同的標識嗎?
- 字母大小寫不改變其十六進制值,但目標系統的字符串比較可能區分大小寫。存儲和比較時應採用統一表示,並遵循接口約定。
相關工具