Python编程:使用uuid库生成唯一ID

举报
彭世瑜 发表于 2021/08/13 23:44:24 2021/08/13
【摘要】 UUID: Universally Unique IDentifier是128位的全局唯一标识符,通常由32字节的字符串表示,它可以保证时间和空间的唯一性 它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性。 UUID主要有五个算法,也就是五种方法来实现: uuid1()——基于时间戳 uuid2()——基于分布式计算环境DCE(Pyt...

UUID: Universally Unique IDentifier是128位的全局唯一标识符,通常由32字节的字符串表示,它可以保证时间和空间的唯一性

它通过MAC地址、时间戳、命名空间、随机数、伪随机数来保证生成ID的唯一性。

UUID主要有五个算法,也就是五种方法来实现:

  1. uuid1()——基于时间戳

  2. uuid2()——基于分布式计算环境DCE(Python中没有这个函数)

  3. uuid3()——基于名字的MD5散列值

  4. uuid4()——基于随机数

  5. uuid5()——基于名字的SHA-1散列值

以下是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')

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

生成 32 位哈希值

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

  
 
  • 1
  • 2
  • 3

参考:

  1. 20.15. uuid — UUID objects according to RFC 4122
  2. Python使用UUID库生成唯一ID

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/82621574

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。