UUID
Universally Unique Identifier (UUID),即通用唯一识别码,是一种软件建构的标准。它的目的在于让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要中央控制端做辨识信息的制定。每个人都可以创建与其他人不冲突(重复)的UUID,因此常用作对某一东西的唯一标识。
UUID常用作数据库的主键。
UUID常用作一次计算任务的唯一标识。
Python uuid
Python中内置了一个名为uuid
包来处理UUID的生成,使用起来非常方便,它提供了生成36位uuid的方法(32位加上4个’-'号作为间隔符,如果不需要间隔符可以手动去掉)。
Python的uuid
包一共提供了4中生成UUID的方法:
- uuid1()
- uuid3()
- uuid4()
- uuid5()
注:没有uuid2。
使用示例:
import uuid
print(uuid.uuid1())
print(uuid.uuid3(uuid.NAMESPACE_DNS, "test"))
print(uuid.uuid4()) # b983907d-ab25-4002-9dad-c37968936ba8
print(uuid.uuid5(uuid.NAMESPACE_DNS, "test"))
为了信息安全,uuid4之外的结果没有贴出来,读者可以本地自行试试。
注意:生成的uuid不是字符串类型,如果以字符串形式落库或者传递需要手动转换一下:
import uuid
print(type(uuid.uuid4()))
print(str(uuid.uuid4()))
四种生成uuid方法间的区别
官方文档见:https://docs.python.org/3/library/uuid.htmlhighlight=uuid#module-uuid
- uuid1根据当前时间的时间戳加上电脑的mac地址生成,最后12位字符