【山外問道】什么是UUID

本文打印版下載地址

[山外問道]什么是UUID-打印版.pdf

1腺律、UUID的定義

UUID是通用唯一識別碼(Universally Unique Identifier)的縮寫,是一種軟件建構(gòu)的標(biāo)準(zhǔn)辽俗,是開放軟件基金會組織在分布式計算環(huán)境領(lǐng)域的一部分疾渣。其目的是讓分布式系統(tǒng)中的所有元素,都能有唯一的辨識信息崖飘,而不需要通過中央控制端來做辨識信息的指定榴捡。

UUID用來識別屬性類型,在所有空間和時間上被視為唯一的標(biāo)識朱浴,任何地方產(chǎn)生的任意一個UUID都不會有相同的值吊圾。UUID的唯一缺陷在于生成的結(jié)果串會比較長,是一個128比特的數(shù)值翰蠢。

目前最廣泛應(yīng)用的 UUID项乒,即是微軟的 Microsoft's Globally Unique Identifiers (GUIDs),而其他重要的應(yīng)用梁沧,則有 Linux ext2/ext3 檔案系統(tǒng)檀何、LUKS 加密分割區(qū)、GNOME、KDE频鉴、Mac OS X 等等栓辜。

2、UUID的組成

UUID基于當(dāng)前時間垛孔、計數(shù)器(counter)和硬件標(biāo)識(通常為無線網(wǎng)卡的MAC地址)等數(shù)據(jù)計算生成藕甩。

(1)當(dāng)前日期和時間:UUID的第一個部分與時間有關(guān)。

(2)時鐘序列周荐。

(3)全局唯一的IEEE機器識別號:如果有網(wǎng)卡狭莱,從網(wǎng)卡MAC地址獲得,沒有網(wǎng)卡以其他方式獲得概作。

(4)Java Hibernate中:采用IP-JVM啟動時間-當(dāng)前時間右移32位-當(dāng)前時間-內(nèi)部計數(shù)(8-8-4-8-4)來組成UUID腋妙。

3、UUID的編碼規(guī)則

UUID全局唯一標(biāo)識符定義為一個字符串主鍵仆嗦,采用32位數(shù)字組成辉阶,編碼采用16進制,定義了在時間和空間都完全惟一的系統(tǒng)信息瘩扼。

(1)1-8位采用系統(tǒng)時間,在系統(tǒng)時間上精確到毫秒級保證時間上的惟一性垃僚;

(2)9-16位采用底層的IP地址集绰,在服務(wù)器集群中的惟一性;

(3)17-24位采用當(dāng)前對象的HashCode值谆棺,在一個內(nèi)部對象上的惟一性栽燕;

(4)25-32位采用調(diào)用方法的一個隨機數(shù),在一個對象內(nèi)的毫秒級的惟一性改淑。

4碍岔、UUID的版本

UUID具有多個版本,每個版本的算法不同朵夏,應(yīng)用范圍也不同蔼啦。

(1)特例Nil UUID:通常用不到,由全為0的數(shù)字組成:00000000-0000-0000-0000-000000000000仰猖。

(2)基于時間的UUID

  • ① 基于時間的UUID通過計算當(dāng)前時間戳捏肢、隨機數(shù)和機器MAC地址得到。

  • ② 在算法中使用了MAC地址饥侵,保證了UUID在全球范圍的唯一性鸵赫,但會帶來安全性問題。

  • ③ 使用退化的算法躏升,以IP地址來代替MAC地址--Java的UUID這樣實現(xiàn)的辩棒。

(3)DCE安全的UUID(Distributed Computing Environment)

DCE安全的UUID和基于時間的UUID算法相同,但會把時間戳的前4位置換為POSIX的UID或GID。這個版本的UUID在實際中較少用到一睁。

(4)基于名字的UUID

  • ① 基于名字的UUID(MD5):通過計算名字和名字空間的MD5散列值得到藕赞。

  • ② 基于名字的UUID(SHA1):通過計算名字和名字空間的SHA1散列值得到。

  • ③ 基于名字的UUID保證了UUID的唯一性:

    • ? 相同名字空間中不同名字生成的UUID的唯一性卖局;

    • ? 不同名字空間中的UUID的唯一性斧蜕;

    • ? 相同名字空間中相同名字的UUID重復(fù)生成是相同的。

(5)隨機UUID:根據(jù)隨機數(shù)砚偶,或者偽隨機數(shù)生成UUID批销,這種UUID產(chǎn)生重復(fù)的概率是可以計算出來的。

參考資料: 《百度百科-UUID

免責(zé)聲明:本文是對《百度百科-UUID》的個人學(xué)習(xí)總結(jié)染坯,屬于個人的學(xué)習(xí)筆記均芽,僅用于學(xué)習(xí)和分享交流,不涉及商業(yè)用途单鹿。如果本文發(fā)布的內(nèi)容侵犯到相關(guān)的權(quán)益掀宋,請及時聯(lián)系本人進行刪除!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末仲锄,一起剝皮案震驚了整個濱河市劲妙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌儒喊,老刑警劉巖镣奋,帶你破解...
    沈念sama閱讀 219,589評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異怀愧,居然都是意外死亡侨颈,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,615評論 3 396
  • 文/潘曉璐 我一進店門芯义,熙熙樓的掌柜王于貴愁眉苦臉地迎上來哈垢,“玉大人,你說我怎么就攤上這事扛拨≡欧郑” “怎么了?”我有些...
    開封第一講書人閱讀 165,933評論 0 356
  • 文/不壞的土叔 我叫張陵鬼癣,是天一觀的道長陶贼。 經(jīng)常有香客問我,道長待秃,這世上最難降的妖魔是什么拜秧? 我笑而不...
    開封第一講書人閱讀 58,976評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮章郁,結(jié)果婚禮上枉氮,老公的妹妹穿的比我還像新娘志衍。我一直安慰自己,他們只是感情好聊替,可當(dāng)我...
    茶點故事閱讀 67,999評論 6 393
  • 文/花漫 我一把揭開白布楼肪。 她就那樣靜靜地躺著,像睡著了一般惹悄。 火紅的嫁衣襯著肌膚如雪春叫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,775評論 1 307
  • 那天泣港,我揣著相機與錄音暂殖,去河邊找鬼。 笑死当纱,一個胖子當(dāng)著我的面吹牛呛每,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播坡氯,決...
    沈念sama閱讀 40,474評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼晨横,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了箫柳?” 一聲冷哼從身側(cè)響起手形,我...
    開封第一講書人閱讀 39,359評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎滞时,沒想到半個月后叁幢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,854評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡坪稽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,007評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了鳞骤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窒百。...
    茶點故事閱讀 40,146評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖豫尽,靈堂內(nèi)的尸體忽然破棺而出篙梢,到底是詐尸還是另有隱情,我是刑警寧澤美旧,帶...
    沈念sama閱讀 35,826評論 5 346
  • 正文 年R本政府宣布渤滞,位于F島的核電站,受9級特大地震影響榴嗅,放射性物質(zhì)發(fā)生泄漏妄呕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,484評論 3 331
  • 文/蒙蒙 一嗽测、第九天 我趴在偏房一處隱蔽的房頂上張望绪励。 院中可真熱鬧肿孵,春花似錦、人聲如沸疏魏。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,029評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽大莫。三九已至蛉腌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間只厘,已是汗流浹背烙丛。 一陣腳步聲響...
    開封第一講書人閱讀 33,153評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留懈凹,地道東北人蜀变。 一個月前我還...
    沈念sama閱讀 48,420評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像介评,于是被迫代替她去往敵國和親库北。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,107評論 2 356

推薦閱讀更多精彩內(nèi)容

  • https://blog.csdn.net/m0_37600150/article/details/7319337...
    迪奧炸閱讀 631評論 0 0
  • 隨機數(shù) 隨機數(shù)的性質(zhì)從弱到強分為3類: 詳見:計算機中的隨機數(shù) 1. 隨機性 2. 不可預(yù)測性 3. 不可重現(xiàn)性 ...
    七離_82cd閱讀 2,410評論 0 0
  • feisky云計算们陆、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 3,855評論 0 5
  • 一寒瓦、簡介 UUID,是Universally Unique Identifier的縮寫坪仇,UUID出現(xiàn)的目的杂腰,是為了...
    零一間閱讀 2,919評論 0 0
  • JAVA UUID 生成 GUID是一個128位長的數(shù)字,一般用16進制表示椅文。算法的核心思想是結(jié)合機器的網(wǎng)卡喂很、當(dāng)?shù)?..
    藝龍閱讀 12,911評論 1 3