Generar GUID/UUID en Python

Vaibhav Vaibhav 10 octubre 2023
Generar GUID/UUID en Python

UUID es un número de 128 bits que se utiliza en los sistemas informáticos para definir entidades o información de forma única. UUID son las siglas de Universal Unique Identifier (Identificador único universal). En el software creado por Microsoft, UUID se considera un identificador único global o GUID.

Un UUID se basa en dos cantidades: la marca de tiempo del sistema y la propiedad única de la estación de trabajo. Esta propiedad única podría ser la dirección IP (Protocolo de Internet) del sistema o la dirección MAC (Control de acceso a medios).

Los UUID/GUID son únicos por naturaleza. Debido a esta propiedad, se utilizan ampliamente en el desarrollo de software y bases de datos para claves.

Generar UUID/GUID en Python

Para generar UUID/GUID usando Python, usaremos un paquete integrado de Python uuid.

import uuid

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

Producción :

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

En el código anterior, el método uuid4() genera un UUID aleatorio. El UUID devuelto por esta función es de tipo uuid.UUID. En la salida, en lugar de XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, su programa generará una cadena alfanumérica.

Puede comprobarlo ejecutando este comando - print(type(uuid.uuid4())). Imprimirá lo siguiente - <class 'uuid.UUID'>

Siempre puede convertir el UUID devuelto en una cadena. Consulte el siguiente código para ello.

import uuid

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

Producción :

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

Si desea generar un UUID basado en la hora actual de la máquina y el ID de host, en ese caso, use el siguiente bloque de código.

import uuid

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

Producción :

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

Para obtener más información sobre uuid, consulte la documentación 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.