UUID是128位的全局惟一標識符,一般由32字節的字符串表示。 它能夠保證時間和空間的惟一性,也稱爲GUID,全稱爲: UUID —— Universally Unique IDentifier Python 中叫 UUID GUID —— Globally Unique IDentifier C# 中叫 GUI
它經過MAC地址、時間戳、命名空間、隨機數、僞隨機數來保證生成ID的惟一性。 UUID主要有五個算法,也就是五種方法來實現: 1、uuid1()——基於時間戳 由MAC地址、當前時間戳、隨機數生成。能夠保證全球範圍內的惟一性, 但MAC的使用同時帶來安全性問題,局域網中能夠使用IP來代替MAC。 2、uuid2()——基於分佈式計算環境DCE(Python中沒有這個函數) 算法與uuid1相同,不一樣的是把時間戳的前4位置換爲POSIX的UID。 實際中不多用到該方法。 3、uuid3()——基於名字的MD5散列值 經過計算名字和命名空間的MD5散列值獲得,保證了同一命名空間中不一樣名字的惟一性, 和不一樣命名空間的惟一性,但同一命名空間的同一名字生成相同的uuid。 4、uuid4()——基於隨機數 由僞隨機數獲得,有必定的重複機率,該機率能夠計算出來。 五、uuid5()——基於名字的SHA-1散列值 算法與uuid3相同,不一樣的是使用 Secure Hash Algorithm 1 算法