使用 Python 中的 UUID 生成随机 ID
UUID的全称是通用唯一识别码(Universally Unique Identifier),它是一个Python库,支持生成128位随机对象的ID。
UUID的优点
- 如前所述,我们可以使用它为随机对象生成唯一的随机ID。
- 此ID可用于密码学和哈希应用。
- 此ID可用于生成随机文档以及地址等。
方法一
使用 uuid1()
示例代码
import uuid print ("Random id using uuid1() is : ",end="") print (uuid.uuid1())
输出
Random id using uuid1() is : 4adeede2-e5d8-11e8-bd27-185e0fd4f8b3
uuid1() 的表示形式
字节 - 它以16字节字符串的形式返回ID。
整数 - 它以128位整数的形式返回ID。
十六进制 - 它以32个字符的十六进制字符串形式返回随机ID。
uuid1() 的组成部分
版本 - UUID 的版本号。
变体 - 它确定 UUID 的内部布局。
uuid1() 的字段
time_low - 指示 ID 的前 32 位。
time_mid - 指示 ID 的接下来的 16 位。
time_hi_version - 指示 ID 的接下来的 16 位。
clock_seq_hi_variant - 指示 ID 的接下来的 8 位。
clock_seq_low - 指示 ID 的接下来的 8 位。
node - 指示 ID 的最后 48 位。
time - 指示 ID 的时间分量字段。
clock_seq - 指示 14 位序列号。
示例代码
import uuid id = uuid.uuid1() # Representations of uuid1() print ("Different Representations of uuid1() are : ") print ("Representation in byte : ",end="") print (repr(id.bytes)) print ("Representation in int : ",end="") print (id.int) print ("Representation in hex : ",end="") print (id.hex) print("\n") # Components of uuid1() print ("Different Components of uuid1() are : ") print ("UUID Version : ",end="") print (id.version) print ("UUID Variant : ",end="") print (id.variant) print("\n") # Fields of uuid1() print ("Fields of uuid1() are : ") print ("UUID Fields : ",end="") print (id.fields) print("\n") # uuid1() Time Component print ("uuid1() time Component is : ") print ("Time component : ",end="") print (id.node)
输出
Different Representations of uuid1() are : Representation in byte : b'\x1a\xd2\xa7F\xe5\xe4\x11\xe8\xbd\x9c\x18^\x0f\xd4\xf8\xb3' Representation in int : 35653703010223099234452630771665795251 Representation in hex : 1ad2a746e5e411e8bd9c185e0fd4f8b3 Different Components of uuid1() are : UUID Version : 1 UUID Variant : specified in RFC 4122 Fields of uuid1() are : UUID Fields : (450012998, 58852, 4584, 189, 156, 26792271607987) uuid1() time Component is : Time component : 26792271607987
方法二
使用 uuid4()
示例代码
import uuid id = uuid.uuid4() # Id generated using uuid4() print ("The id generated using uuid4() : ",end="") print (id)
输出
The id generated using uuid4() : 21764219-e3d9-4bd3-a768-0bbc6e376bc0
广告