Python 如何生成uuid

UUID是通用唯一识别码,常用于数据库主键和唯一标识。Python的uuid模块提供uuid1、uuid3、uuid4和uuid5四种方法生成。uuid1基于时间戳和MAC地址,可能泄露隐私;uuid3和uuid5通过MD5和SHA1算法结合namespace和字符串生成;uuid4则基于随机数,可能极小概率重复。
摘要由CSDN通过智能技术生成

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位字符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值