UUID 產生器

產生版本1、3、4、5、6和7的UUID。選擇版本,設定選項並點擊產生。所有處理均在瀏覽器中本地完成。

已複製!

反過來讀一個

UUID 版本說明

版本方法使用場景
v1時間戳記(100 奈秒)+ 隨機節點按時間排序的 ID;內嵌建立時間
v4密碼學隨機通用唯一 ID——最受歡迎
v5命名空間 + 名稱的 SHA-1 雜湊類似 v3 但使用 SHA-1(建議優先於 v3)
v6重新排序的 v1 時間戳記適合資料庫排序的時間型 ID
v7Unix 毫秒時間戳記 + 隨機現代時間型、單調遞增、最適合資料庫

預設該拿的是版本 4:它整個就是隨機位元,什麼都不洩露,碰撞只存在於理論上。版本 7 值得了解,因為它把時間放在最前面,於是一列這樣的值會按行建立的先後排好,資料庫索引保持緊湊,寫入不會到處亂撒。版本 1 和 6 嵌的是同一個時間戳外加一個節點欄位;這裡的節點是設了多播位元的亂數,因此永遠不會是真實的網路位址。把任意 UUID 貼進查看框,它會告訴你版本,以及在有的情況下,它被造出來的那一刻。

又在手工整理資料?

每次都要在瀏覽器分頁裡修一遍的資料,本該交給程式碼。我們建構在系統之間搬運資料的整合、解析器和服務,也修好那些在半路上悄悄把資料弄壞的東西。

告訴我們你在搬什麼

常見問題

我該用哪個版本?
沒有別的理由就用版本 4。它是隨機的,什麼也不透露。如果這些值要進一個帶索引的資料庫欄位,就選版本 7:它按建立時間排序,能讓索引保持緊湊,而不是讓每次插入散落到各處。
可以拿它們當密鑰用嗎?
不行。版本 4 的 UUID 由密碼學安全的亂數源產生,因此猜不出來,但它的設計初衷就是被顯示、被記錄、被到處傳遞。請把它當作識別碼,絕不要當密碼或工作階段權杖。
版本 3 去哪了?
隨 MD5 一起被拿掉了。版本 3 按定義就是 MD5,而 MD5 存在可行的碰撞攻擊。版本 5 用 SHA-1 做同樣的事,接受同樣的命名空間和名稱,所以切過去只是改一個設定。
會有兩個人產生出同一個 UUID 嗎?
對版本 4 來說,實際上不會。裡面有 122 個隨機位元,多到你得一輩子每秒產生幾十億個,碰撞才開始變得有可能。版本 1、6、7 還額外依賴時間,在同一台機器內碰撞的機會更小。
節點欄位為什麼是隨機的?
版本 1 和 6 原本在那裡放機器的網路位址,這會洩露一個值出自何處。本頁面用亂數位元組填充它並設定多播位元,這正是規範規定的、用來標記一個並非真實硬體位址的節點的做法。