UUID模块生成随机字符串

UUID模块生成随机字符串

【一】UUID详解

  • UUID (Universally Unique Identifier)是一种128位的标识符

    • 用于在计算机系统中识别唯一性。
    • 它通常表示为一个32个十六进制数目,用连字符分隔开来的形式,如 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx。
  • Python中的uuid模块可以生成和操作这些UUID。该模块提供了4种生成UUID的方式:

    • uuid1():
      • 基于主机的MAC地址和当前时间戳生成UUID(不保证全局唯一性)。
    • uuid3():
      • 基于名字的MD5散列值生成UUID。
    • uuid4():
      • 随机生成UUID。
    • uuid5():
      • 基于名字的SHA-1散列值生成UUID。
  • 除此之外,该模块还提供了其他一些功能,例如:

    • UUID对象的属性和方法
      • 如hex、int、urn、bytes、time_low、time_mid等。
    • 解析UUID字符串和字节串的函数
      • 如uuid.UUID()和uuid.bytes_from_uuid()。
    • 对UUID进行比较、排序和哈希的函数
      • 如uuid.uuid1_compare()、uuid.uuid1_sorted()和uuid.uuid_hash()。
  • 总的来说,uuid模块提供了一套完整的UUID生成和操作工具,可以方便地在Python程序中使用UUID。

【二】案例

下面是一些uuid模块常用方法的案例详解:

uuid1()

该方法生成一个基于主机的MAC地址和当前时间戳的UUID。下面是一个简单的示例:

import uuid print(uuid.uuid1()) # 5ad53ebc-4cab-11ea-9e75-806e6f6e6963

uuid4()

该方法生成一个随机UUID。下面是一个简单的示例:

import uuid print(uuid.uuid4()) # d0d2760c-4955-49a1-b2be-a3d674cb8e10

uuid5()

该方法生成一个基于名字的SHA-1散列值的UUID。下面是一个简单的示例:

import uuid namespace = uuid.uuid5(uuid.NAMESPACE_DNS, 'example.org') print(namespace) # 6fad1fbe-b3d0-5c43-8974-386a129ca7c9

UUID对象的属性和方法

UUID对象有许多构成UUID的属性和方法。下面是一个简单的示例:

import uuid # 生成一个UUID对象 uid = uuid.uuid4() # 获取UUID对象中的各组成部分 print(uid.variant) # 1 print(uid.version) # 4 print(uid.time_low) # 148485486948939628159077133227677751797 print(uid.int) # 178114247243283222879372506454734868661 # 将UUID对象转换为十六进制字符串 print(uid.hex) # 'c5c51ab3-20d2-43fd-ba8e-e610f0c33f7b' # 将UUID对象转换为URN格式的字符串 print(uid.urn) # 'urn:uuid:c5c51ab3-20d2-43fd-ba8e-e610f0c33f7b' # 将UUID对象转换为字节串 print(uid.bytes) # b'\xc5\xc5\x1a\xb3 \xd2C\xfd\xba\x8e\xe6\x10\xf0\xc3?{'

以上是一些uuid模块常用方法的案例详解。若有不清楚的地方,可以进一步咨询。


__EOF__

本文作者Chimengmeng
本文链接https://www.cnblogs.com/dream-ze/p/17505081.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Chimengmeng  阅读(386)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示