python之uuid通用唯一標(biāo)識(shí)符模塊

長(zhǎng)安古道馬遲遲易迹,高柳亂蟬嘶。夕陽島外平道,秋風(fēng)原上,目斷四天垂供炼。
歸云一去無蹤跡一屋,何處是前期?狎興生疏袋哼,酒徒蕭索冀墨,不似少年時(shí)。

一涛贯、UUID的介紹:

UUID: 通用唯一標(biāo)識(shí)符 ( Universally Unique Identifier ), 對(duì)于所有的UUID它可以保證在空間和時(shí)間上的唯一性. 它是通過MAC地址, 時(shí)間戳, 命名空間, 隨機(jī)數(shù), 偽隨機(jī)數(shù)來保證生成ID的唯一性, 有著固定的大小( 128 bit ). 它的唯一性和一致性特點(diǎn)使得可以無需注冊(cè)過程就能夠產(chǎn)生一個(gè)新的UUID. UUID可以被用作多種用途, 既可以用來短時(shí)間內(nèi)標(biāo)記一個(gè)對(duì)象, 也可以可靠的辨別網(wǎng)絡(luò)中的持久性對(duì)象.
  為什么要使用UUID?
  很多應(yīng)用場(chǎng)景需要一個(gè)id, 但是又不要求這個(gè)id 有具體的意義, 僅僅用來標(biāo)識(shí)一個(gè)對(duì)象. 常見的例子有數(shù)據(jù)庫表的id 字段. 另一個(gè)例子是前端的各種UI庫, 因?yàn)樗鼈兺ǔP枰獎(jiǎng)討B(tài)創(chuàng)建各種UI元素, 這些元素需要唯一的id , 這時(shí)候就需要使用UUID了.

二诽嘉、uuid模塊的使用:

python的uuid模塊提供UUID類和函數(shù)uuid1(), uuid3(), uuid4(), uuid5() 來生成1, 3, 4, 5各個(gè)版本的UUID ( 需要注意的是: python中沒有uuid2()這個(gè)函數(shù)). 對(duì)uuid模塊中最常用的幾個(gè)函數(shù)總結(jié)如下:

  • uuid.uuid1(node, clock_seq) : 基于MAC地址,時(shí)間戳弟翘,隨機(jī)數(shù)  
    基于MAC地址虫腋,時(shí)間戳,隨機(jī)數(shù)來生成唯一的uuid稀余,可以保證全球范圍內(nèi)的唯一性悦冀。但由于使用該方法生成的UUID中包含有主機(jī)的網(wǎng)絡(luò)地址, 因此可能危及隱私。 該函數(shù)有兩個(gè)參數(shù), 如果 node 參數(shù)未指定, 系統(tǒng)將會(huì)自動(dòng)調(diào)用 getnode() 函數(shù)來獲取主機(jī)的硬件地址. 如果 clock_seq 參數(shù)未指定系統(tǒng)會(huì)使用一個(gè)隨機(jī)產(chǎn)生的14位序列號(hào)來代替

  • uuid.uuid2()  
    算法與uuid1相同睛琳,不同的是把時(shí)間戳的前4位置換為POSIX的UID盒蟆。不過需要注意的是python中沒有基于DCE的算法,所以python的uuid模塊中沒有uuid2這個(gè)方法师骗。

  • uuid.uuid3(namespace, name) : 基于名字的MD5散列值  
    通過計(jì)算一個(gè)命名空間和名字的md5散列值來給出一個(gè)uuid历等,所以可以保證命名空間中的不同名字具有不同的uuid,但是相同的名字就是相同的uuid了辟癌。namespace并不是一個(gè)自己手動(dòng)指定的字符串或其他量寒屯,而是在uuid模塊中本身給出的一些值。比如uuid.NAMESPACE_DNS愿待,uuid.NAMESPACE_OID浩螺,uuid.NAMESPACE_OID這些值靴患。這些值本身也是UUID對(duì)象,根據(jù)一定的規(guī)則計(jì)算得出要出。

  • uuid.uuid4() : 基于隨機(jī)數(shù)  
    通過隨機(jī)數(shù)來生成UUID. 使用的是偽隨機(jī)數(shù)有一定的重復(fù)概率

  • uuid.uuid5(namespace, name) : 基于名字的SHA-1散列值  
    和uuid3基本相同鸳君,只不過采用的散列算法是sha1

三、uuid的簡(jiǎn)單使用:

import uuid

name = 'wangjifei'
namespace = uuid.NAMESPACE_OID

print(uuid.uuid1())
print(uuid.uuid3(namespace,name))
print(uuid.uuid4())
print(uuid.uuid5(namespace,name))

42a5d474-d276-11e8-be0c-001cc2340bf8
1c0451f9-4b46-381a-8039-43ecc91bc0c0
c5207330-6c9c-4285-bcca-163e24aaeac3
41e1be5c-b568-5e5d-8ce2-f4609fd3bec5

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末患蹂,一起剝皮案震驚了整個(gè)濱河市或颊,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌传于,老刑警劉巖囱挑,帶你破解...
    沈念sama閱讀 218,284評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異沼溜,居然都是意外死亡平挑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門系草,熙熙樓的掌柜王于貴愁眉苦臉地迎上來通熄,“玉大人,你說我怎么就攤上這事找都〈奖妫” “怎么了?”我有些...
    開封第一講書人閱讀 164,614評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵能耻,是天一觀的道長(zhǎng)赏枚。 經(jīng)常有香客問我,道長(zhǎng)晓猛,這世上最難降的妖魔是什么饿幅? 我笑而不...
    開封第一講書人閱讀 58,671評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮戒职,結(jié)果婚禮上诫睬,老公的妹妹穿的比我還像新娘。我一直安慰自己帕涌,他們只是感情好摄凡,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蚓曼,像睡著了一般亲澡。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上纫版,一...
    開封第一講書人閱讀 51,562評(píng)論 1 305
  • 那天床绪,我揣著相機(jī)與錄音,去河邊找鬼。 笑死癞己,一個(gè)胖子當(dāng)著我的面吹牛膀斋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播痹雅,決...
    沈念sama閱讀 40,309評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼仰担,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了绩社?” 一聲冷哼從身側(cè)響起摔蓝,我...
    開封第一講書人閱讀 39,223評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎愉耙,沒想到半個(gè)月后贮尉,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡朴沿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評(píng)論 3 336
  • 正文 我和宋清朗相戀三年猜谚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赌渣。...
    茶點(diǎn)故事閱讀 39,981評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡龄毡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锡垄,到底是詐尸還是另有隱情,我是刑警寧澤祭隔,帶...
    沈念sama閱讀 35,705評(píng)論 5 347
  • 正文 年R本政府宣布货岭,位于F島的核電站,受9級(jí)特大地震影響疾渴,放射性物質(zhì)發(fā)生泄漏千贯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評(píng)論 3 330
  • 文/蒙蒙 一搞坝、第九天 我趴在偏房一處隱蔽的房頂上張望搔谴。 院中可真熱鬧,春花似錦桩撮、人聲如沸敦第。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芜果。三九已至,卻和暖如春融师,著一層夾襖步出監(jiān)牢的瞬間右钾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評(píng)論 1 270
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留舀射,地道東北人窘茁。 一個(gè)月前我還...
    沈念sama閱讀 48,146評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像脆烟,于是被迫代替她去往敵國(guó)和親山林。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評(píng)論 2 355

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理浩淘,服務(wù)發(fā)現(xiàn)捌朴,斷路器,智...
    卡卡羅2017閱讀 134,657評(píng)論 18 139
  • 一张抄、關(guān)于UUID UUID 是 通用唯一識(shí)別碼(Universally Unique Identifier)的縮寫...
    形式主義_5adc閱讀 2,823評(píng)論 1 1
  • 歡樂太大聲的時(shí)候很容易吵醒痛苦署惯,但是痛苦很大聲的時(shí)候歡樂卻像是睡死過去了一樣左驾。
    ilife_4f68閱讀 384評(píng)論 0 0
  • 簡(jiǎn)介 Hybrid App(混合模式移動(dòng)應(yīng)用)是指介于web-app、native-app這兩者之間的app极谊,兼具...
    Carson_Zhu閱讀 323評(píng)論 0 0
  • 在中國(guó)如果用一個(gè)詞來概括幸福感和高大上诡右,那這個(gè)詞一定非"專有"莫屬。 查了某百科的解釋"專有"意為獨(dú)占轻猖,是古代詞語...
    人生如夢(mèng)001閱讀 162評(píng)論 0 1