国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python使用uuid庫生成唯一標識ID

2020-02-15 21:13:54
字體:
來源:轉載
供稿:網友

uuid是128位的全局唯一標識符(univeral unique identifier),通常用32位的一個字符串的形式來表現。有時也稱guid(global

unique identifier)。python中自帶了uuid模塊來進行uuid的生成和管理工作。

python中的uuid模塊基于信息如MAC地址、時間戳、命名空間、隨機數、偽隨機數來uuid。具體方法有如下幾個:

uuid.uuid1()  基于MAC地址,時間戳,隨機數來生成唯一的uuid,可以保證全球范圍內的唯一性。

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

uuid.uuid3(namespace,name)  通過計算一個命名空間和名字的md5散列值來給出一個uuid,所以可以保證命名空間中的不同名字具有不同的uuid,但是相同的名字就是相同的uuid了。【感謝評論區大佬指出】namespace并不是一個自己手動指定的字符串或其他量,而是在uuid模塊中本身給出的一些值。比如uuid.NAMESPACE_DNS,uuid.NAMESPACE_OID,uuid.NAMESPACE_OID這些值。這些值本身也是UUID對象,根據一定的規則計算得出。

uuid.uuid4()  通過偽隨機數得到uuid,是有一定概率重復的

uuid.uuid5(namespace,name)  和uuid3基本相同,只不過采用的散列算法是sha1

一般而言,在對uuid的需求不是很復雜的時候,uuid1方法就已經夠用了,使用方法如下:

#coding=utf-8 import uuid name = 'test_name'# namespace = 'test_namespace'namespace = uuid.NAMESPACE_URL print uuid.uuid1()print uuid.uuid3(namespace,name)print uuid.uuid4()

以下是python官方提供的參考示例

>>> import uuid>>> # make a UUID based on the host ID and current time>>> uuid.uuid1()UUID('a8098c1a-f86e-11da-bd1a-00112444be1e')>>> # make a UUID using an MD5 hash of a namespace UUID and a name>>> uuid.uuid3(uuid.NAMESPACE_DNS, 'python.org')UUID('6fa459ea-ee8a-3ca4-894e-db77e160355e')>>> # make a random UUID>>> uuid.uuid4()UUID('16fd2706-8baf-433b-82eb-8c7fada847da')>>> # make a UUID using a SHA-1 hash of a namespace UUID and a name>>> uuid.uuid5(uuid.NAMESPACE_DNS, 'python.org')UUID('886313e1-3b8a-5372-9b90-0c9aee199e5d')

生成 32 位哈希值

uuid.uuid4().hexOut[3]: '28128f59692242b2854ece961ea1dd35'

更多關于Python使用uuid庫生成唯一標識ID的文章大家可以點擊下面的相關鏈接

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 都安| 分宜县| 清镇市| 雷波县| 常熟市| 闻喜县| 贵南县| 江口县| 江山市| 稷山县| 抚州市| 辰溪县| 永年县| 茶陵县| 龙陵县| 东阳市| 县级市| 利津县| 都兰县| 富阳市| 望城县| 靖边县| 镇巴县| 宣汉县| 辽源市| 咸宁市| 盐源县| 南靖县| 九江县| 广饶县| 任丘市| 石泉县| 阿荣旗| 浠水县| 民勤县| 游戏| 汪清县| 萝北县| 永清县| 台北市| 屏山县|