uuid是128位的全局唯一標(biāo)識(shí)符(univeral unique identifier),用32位字符串表現(xiàn).
python中自帶了uuid模塊來(lái)進(jìn)行uuid的生成和管理工作.具體方法有如下幾個(gè):
uuid.uuid1() 基于MAC地址,時(shí)間戳,隨機(jī)數(shù)來(lái)生成唯一的uuid,全球范圍內(nèi)的唯一性。
uuid.uuid2() 算法與uuid1相同,不同的是把時(shí)間戳的前4位置換為POSIX的UID。python中沒(méi)有基于DCE的算法,所以python的uuid模塊中沒(méi)有uuid2這個(gè)方法。
uuid.uuid3(namespace,name) 計(jì)算一個(gè)命名空間和名字的md5散列值來(lái)給出一個(gè)uuid,所以可以保證命名空間中的不同名字具有不同的uuid
namespace是在uuid模塊中本身給出的一些值。比如uuid.NAMESPACE_DNS,uuid.NAMESPACE_OID,uuid.NAMESPACE_OID。本身也是UUID對(duì)象,根據(jù)一定的規(guī)則計(jì)算得出。
uuid.uuid4() 偽隨機(jī)數(shù)得到uuid,有一定概率重復(fù)的
uuid.uuid5(namespace,name) 和uuid3基本相同,采用的散列算法是sha1