使用 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
廣告