Gerar GUID/UUID em Python

Vaibhav Vaibhav 10 outubro 2023
Gerar GUID/UUID em Python

UUID é um número de 128 bits usado em sistemas de computador para definir entidades ou informações de forma exclusiva. UUID significa Universally Unique Identifier. No software criado pela Microsoft, o UUID é considerado um Identificador Globalmente Único ou GUID.

Um UUID é baseado em duas quantidades: o carimbo temporal do sistema e a propriedade exclusiva da estação de trabalho. Esta propriedade exclusiva pode ser o endereço IP (Internet Protocol) do sistema ou o endereço MAC (Media Access Control).

UUIDs/GUIDs são exclusivos por natureza. Por causa dessa propriedade, eles são amplamente usados ​​no desenvolvimento de software e bancos de dados para chaves.

Gerar UUID/GUID em Python

Para gerar UUID/GUID usando Python, usaremos um pacote python integrado uuid.

import uuid

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

Resultado:

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

No código acima, o método uuid4() gera um UUID aleatório. O UUID retornado por esta função é do tipo uuid.UUID. Na saída, em vez de XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, seu programa produzirá uma string alfanumérica.

Você pode verificar isso executando este comando - print(type(uuid.uuid4())). Irá imprimir o seguinte - <class 'uuid.UUID'>

Você sempre pode converter o UUID retornado em string. Consulte o código a seguir para isso.

import uuid

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

Resultado:

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

Se você deseja gerar um UUID com base na hora atual da máquina e na ID do host, nesse caso, use o seguinte bloco de código.

import uuid

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

Resultado:

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

Para saber mais sobre uuid, consulte a documentação oficial

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.