中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python生成uuid的方法

發布時間:2020-08-14 10:04:53 來源:億速云 閱讀:251 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關python生成uuid的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

UUID(Universally Unique Identifier)是通用唯一識別碼,在許多領域用作標識,比如我們常用的數據庫也可以用它來作為主鍵,原理上它是可以對任何東西進行唯一的編碼的。作為新手一看到類似varchar(40)這樣的主鍵就覺得有點蒙圈了,字符串型也不能自增啊,這里就應該應用UUID了。數據庫一般都有自己的辦法生成UUID,但雖然可以用,但這玩意考慮到可讀性和有點坑的長度還是盡量不要用這玩意做主鍵。

下面就簡單說明一下python是如何生成UUID的:
python有一個模塊叫做uuid,導入它就可以使用它的四個方法了。注意這四個方法依次是uuid1(),uuid3(),uuid4(),uuid5(),然而并沒有uuid2()。

# -*- coding:utf-8 -*-
import uuid
print uuid.uuid1()
#bf1dfacf-67d8-11e8-9a23-408d5c985711
print uuid.uuid3(uuid.NAMESPACE_DNS, 'yuanlin')
#ddb366f5-d4bc-3a20-ac68-e13c0560058f
print uuid.uuid4()
#144d622b-e83a-40ea-8ca1-66af8a86261c
print uuid.uuid5(uuid.NAMESPACE_DNS, 'yuanlin')
#4a47c18d-037a-5df6-9e12-20b643c334d3

乍一看全都是36個字符,那么他們到底有什么不同呢,下面一一分析。

uuid1():這個是根據當前的時間戳和MAC地址生成的,最后的12個字符408d5c985711對應的就是MAC地址,因為是MAC地址,那么唯一性應該不用說了。但是生成后暴露了MAC地址這就很不好了。

uuid3():里面的namespace和具體的字符串都是我們指定的,然后呢···應該是通過MD5生成的,這個我們也很少用到,莫名其妙的感覺。

uuid4():這是基于隨機數的uuid,既然是隨機就有可能真的遇到相同的,但這就像中獎似的,幾率超小,因為是隨機而且使用還方便,所以使用這個的還是比較多的。

uuid5():這個看起來和uuid3()貌似并沒有什么不同,寫法一樣,也是由用戶來指定namespace和字符串,不過這里用的散列并不是MD5,而是SHA1。

下面再來說一下簡單的處理,UUID中間的'-'是個比較奇怪的字符,那么應該去掉它,這其實超簡單:

uid = str(uuid.uuid4())suid = ''.join(uid.split('-'))

關于python生成uuid的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑水县| 松江区| 鹤壁市| 开阳县| 江口县| 中卫市| 洮南市| 宜城市| 商水县| 子长县| 个旧市| 多伦县| 苏州市| 河东区| 司法| 云龙县| 修武县| 平原县| 高雄县| 通江县| 石林| 桐庐县| 德庆县| 浪卡子县| 乐清市| 葵青区| 冀州市| 巴林右旗| 登封市| 巩义市| 如皋市| 青浦区| 黑山县| 凭祥市| 民勤县| 大理市| 沂源县| 黑河市| 林芝县| 怀宁县| 南投县|