Generando ID aleatorios usando UUID en Python

Habíamos discutido las formas de generar identificaciones únicas en Python sin usar ninguna biblioteca incorporada de Python en Generación de identificaciones aleatorias en Python

En este artículo estaríamos usando funciones incorporadas para generarlas.

UUID, Universal Unique Identifier, es una biblioteca de Python que ayuda a generar objetos aleatorios de 128 bits como identificadores. Proporciona la singularidad ya que genera identificadores en función del tiempo, el hardware de la computadora (MAC, etc.).

Ventajas de UUID:

  • Se puede usar como utilidad general para generar una identificación aleatoria única.
  • Se puede utilizar en aplicaciones de criptografía y hashing.
  • Útil para generar documentos aleatorios, direcciones, etc.

Método 1: Usar uuid1()

uuid1() se define en la biblioteca UUID y ayuda a generar la identificación aleatoria utilizando la dirección MAC y el componente de tiempo .

# Python3 code to generate the
# random id using uuid1()
  
import uuid
  
# Printing random id using uuid1()
print ("The random id using uuid1() is : ",end="")
print (uuid.uuid1())

Producción :

The random id using uuid1() is : 67460e74-02e3-11e8-b443-00163e990bdb

Representaciones de uuid1()

  • bytes: Devuelve la identificación en forma de string de 16 bytes.
  • int: Devuelve el id en forma de entero de 128 bits.
  • hex: devuelve una identificación aleatoria como una string hexadecimal de 32 caracteres.

Componentes de uuid1()

  • versión: número de versión de UUID.
  • variant : La variante que determina el diseño interno de UUID.

Campos de uuid1()

  • time_low: Los primeros 32 bits de id.
  • time_mid : Los siguientes 16 bits de id.
  • time_hi_version : Los siguientes 16 bits de id.
  • clock_seq_hi_variant: Siguientes 8 bits de id.
  • clock_seq_low: Siguientes 8 bits de id.
  • Node: Últimos 48 bits de id.
  • tiempo: campo de componente de tiempo de id.
  • clock_seq : número de secuencia de 14 bits.
# Python3 code to demonstrate
# components, representations 
# and variants of uuid1()
  
import uuid
  
id = uuid.uuid1()
  
# Representations of uuid1()
print ("The Representations of uuid1() are : ")
print ("byte Representation : ",end="")
print (repr(id.bytes))
  
print ("int Representation : ",end="")
print (id.int)
  
print ("hex Representation : ",end="")
print (id.hex)
  
print("\n")
  
# Components of uuid1()
print ("The Components of uuid1() are : ")
print ("Version  : ",end="")
print (id.version)
  
print ("Variant : ",end="")
print (id.variant)
  
print("\n")
  
# Fields of uuid1()
print ("The Fields of uuid1() are : ")
print ("Fields  : ",end="")
print (id.fields)
  
print("\n")
  
# Time Component of uuid1()
print ("The time Component of uuid1() is : ")
print ("Time component  : ",end="")
print (id.node)

Producción :

The Representations of uuid1() are : 
byte Representation : b'k\x10\xa1n\x02\xe7\x11\xe8\xaeY\x00\x16>\x99\x0b\xdb'
int Representation : 142313746482664936587190810281013480411
hex Representation : 6b10a16e02e711e8ae5900163e990bdb


The Components of uuid1() are : 
Version  : 1
Variant : specified in RFC 4122


The Fields of uuid1() are : 
Fields  : (1796252014, 743, 4584, 174, 89, 95539497947)


The time Component of uuid1() is : 
Time component  : 95539497947

Inconveniente:
esta forma incluye el uso de la dirección MAC de la computadora y, por lo tanto, puede comprometer la privacidad, aunque proporciona unicidad.

Método 2: Usar uuid4()
Esta función garantiza el número aleatorio. y no compromete la privacidad.

# Python3 code to generate
# id using uuid4()
  
import uuid
  
id = uuid.uuid4()
  
# Id generated using uuid4()
print ("The id generated using uuid4() : ",end="")
print (id)

Producción :

The id generated using uuid4() : fbd204a7-318e-4dd3-86e0-e6d524fc3f98

Publicación traducida automáticamente

Artículo escrito por suman_709 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *