在 Python 中生成 GUID/UUID

Vaibhav Vaibhav 2023年10月10日
在 Python 中生成 GUID/UUID

UUID 是計算機系統中使用的一個 128 位數字,用於唯一地定義實體或資訊。UUID 代表通用唯一識別符號。在 Microsoft 建立的軟體中,UUID 被視為全域性唯一識別符號或 GUID。

UUID 基於兩個數量:系統的時間戳和工作站的唯一屬性。此唯一屬性可以是系統的 IP(Internet 協議)地址或 MAC(媒體訪問控制)地址。

UUID/GUID 本質上是唯一的。由於此特性,它們被廣泛用於軟體開發和金鑰資料庫。

在 Python 中生成 UUID/GUID

為了使用 Python 生成 UUID/GUID,我們將使用 python 內建包 uuid

import uuid

myUUID = uuid.uuid4()
print(f"UUID/GUID -> {myUUID}")

輸出:

UUID/GUID -> XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

在上面的程式碼中,uuid4() 方法生成一個隨機 UUID。該函式返回的 UUID 的型別為 uuid.UUID。在輸出中,程式將輸出字母數字字串,而不是 XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

你可以通過執行以下命令-print(type(uuid.uuid4())) 進行檢查。它將列印以下內容-<class 'uuid.UUID'>

你始終可以將返回的 UUID 轉換為字串。請參考以下程式碼。

import uuid

myUUID = uuid.uuid4()
print(type(myUUID))
print(myUUID)
myUUIDString = str(myUUID)
print(type(myUUIDString))
print(myUUIDString)

輸出:

<class 'uuid.UUID'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
<class 'str'>
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

如果要基於計算機的當前時間和主機 ID 生成 UUID,在這種情況下,請使用以下程式碼塊。

import uuid

myUUID = uuid.uuid1()
print(f"UUID/GUID based on Host ID and Current Time -> {myUUID}")

輸出:

UUID/GUID based on Host ID and Current Time -> 
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

要了解有關 uuid 的更多資訊,請參考官方文件

作者: Vaibhav Vaibhav
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.