UUID 是一个128位的唯一标识符,格式为8-4-4-4-12的32位十六进制字符串,如f47ac10b-58cc-4372-a567-0e02b2c3d479,用于分布式系统中避免重复;Python 的 uuid 模块提供 uuid1(时间+MAC)、uuid4(随机)、uuid3/uuid5(命名空间哈希)等方法生成,其中 uuid4() 最常用且安全;示例包括用 uuid.uuid4() 生成随机 ID 和 uuid.uuid5(uuid.NAMESPACE_DNS, "example.com") 生成基于域名的确定性 ID。

UUID 模块是 Python 标准库中的一个模块,用于生成和操作 通用唯一识别码(Universally Unique Identifier)。这种标识符是一个 128 位的值,通常用来在分布式系统中唯一标识信息,而无需中央协调。UUID 的设计保证了在空间和时间上的唯一性,极大降低了重复的可能性。
UUID 是什么?
UUID 是一个字符串格式的唯一标识,例如:f47ac10b-58cc-4372-a567-0e02b2c3d479。它由 32 个十六进制数字组成,分为五段,形式为 8-4-4-4-12。由于其极低的碰撞概率,常用于数据库主键、会话 ID、文件名、日志追踪等场景。
常用的 UUID 生成方式
Python 的 uuid 模块提供了几种标准版本的 UUID 生成方法:
- uuid.uuid1():基于时间戳和机器 MAC 地址生成。能保证全球唯一,但暴露了设备信息。
- uuid.uuid4():基于随机数生成。最常用,足够安全且不泄露设备信息。
- uuid.uuid3(namespace, name):基于命名空间和名称的 MD5 哈希生成。相同输入总产生相同输出,适合确定性场景。
- uuid.uuid5(namespace, name):与 uuid3 类似,但使用 SHA-1 哈希,更推荐。
实际使用示例
以下是一些常见用法:
由于精力有限,程序更新比较慢,请大家谅解,再次感谢支持taycms的朋友们,虽然比较慢,我们还是会一直更新下去的。谢谢您的关注。有什么建议可以到论坛提出,或者直接给我QQ留言。 2.0会有很多新功能,请关注官方论坛TayCMS 1.8 升级日志此版本修复了不少BUG1.更换图片切换JS , 不会再有错误提示2.增加资料下载模块3.更换默认模版,使程序功能和页面结构更清晰,方便参考制作模版4.修复留
立即学习“Python免费学习笔记(深入)”;
import uuid生成随机 UUID
uid = uuid.uuid4() print(uid) # 如:a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8
转为字符串
str_uid = str(uid)
生成基于名字的 UUID(如用户配置)
namespace = uuid.NAMESPACE_DNS named_uid = uuid.uuid5(namespace, "example.com") print(named_uid)
基本上就这些。uuid 模块简单可靠,日常开发中 uuid4() 就能满足大多数需求。










