處理結果

UUID介紹

UUID定義

通用唯一識別碼(英文:Universally Unique Identifier,縮寫:UUID)是用於電腦系統中以識別資訊的一個128位元識別碼。 UUID依照標準方法產生時,在實際應用上具有唯一性,且不依賴中央機構的註冊和分配。 UUID重複的機率接近零,可以忽略不計。

因此,所有人都可以自行建立和使用UUID,幾乎可以確定其不會與既有的識別碼重複。 也因為如此,在不同地方產生的UUID可以使用於同一個資料庫或同一個頻道中,幾乎不可能重複。

UUID各版本介紹

標準格式:

UUID的格式是這樣的:xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx。 N只能是8,9,a,b其中之一。 M代表版本號,由於UUID的標準實作有5個版本,所以只會是1,2,3,4,5

版本1:基於時間的UUID

透過當前時間戳記、機器MAC位址產生; 由於在演算法中使用了MAC位址,這個版本的UUID可以保證在全球範圍的唯一性。 但同時,因為它暴露了電腦的MAC位址和產生這個UUID的時間,這就是這個版本UUID被詬病的地方。

版本2:DCE安全的UUID

DCE安全的UUID和基於時間的UUID演算法相同,但會把時間戳記的前4位置換為POSIX的UID或GID。 不過,在UUID的規格裡面沒有明確指定,所以基本上所有的UUID實作都不會實作這個版本。

版本3:基於名字空間的UUID(MD5)

由使用者指定1個namespace和1個特定的字串,透過MD5散列,來產生1個UUID。 根據規範描述,這個版本的存在是為了向後相容,平常也很少用到。

版本4:基於隨機數的UUID

根據隨機數,或偽隨機數產生UUID。 這個版本是用得最多的版本。

版本5:基於名字空間的UUID(SHA1)

和版本3一樣,不過散列函數換成了SHA1。