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