Generación de ID de hash usando uuid3() y uuid5() en Python

La clase UUID de Python define cuatro funciones y cada una genera una versión diferente de UUID. Veamos cómo generar UUID basado en hash MD5 y SHA-1 usando uuid3() y uuid5() .
Los hashes criptográficos se pueden usar para generar diferentes ID tomando el identificador NAMESPACE y una string como entrada. Las funciones que soportan la generación de hash criptográfico son: 
 

  1. uuid3 (espacio de nombres, string): esta función utiliza el valor hash MD5 de los espacios de nombres mencionados con una string para generar una identificación aleatoria de esa string en particular.
  2. uuid5 (espacio de nombres, string): esta función utiliza el valor hash SHA-1 de los espacios de nombres mencionados con una string para generar una identificación aleatoria de esa string en particular.

El módulo uuid define los siguientes identificadores de espacio de nombres para usar con uuid3() o uuid5() : 
 

NAMESPACE_DNS : se usa cuando la string de nombre es un nombre de dominio completo. 
NAMESPACE_URL : se usa cuando la string de nombre es una URL. 
NAMESPACE_OID : se usa cuando la string de nombre es un OID ISO. 
NAMESPACE_X500 : se usa cuando la string de nombre es un DN X.500 en DER o un formato de salida de texto. 
 

  
Código #1: 
 

Python3

# Python3 code to demonstrate working
# of uuid3() and uuid5()
import uuid
 
# initializing a string
url = "https://www.geeksforgeeks.org/fibonacci-sum-subset-elements/"
 
# using NAMESPACE_URL as namespace
# to generate MD5 hash uuid
print ("The SHA1 hash value generated ID is : ",
            uuid.uuid3(uuid.NAMESPACE_URL, url))
 
# using NAMESPACE_URL as namespace 
# to generate SHA-1 hash uuid
print ("The MD5 hash value generated ID is : ",
            uuid.uuid5(uuid.NAMESPACE_URL, url))
Producción: 

The SHA1 hash value generated ID is :  e13a319e-16d9-3ff5-a83c-96564007998e
The MD5 hash value generated ID is :  dbe3178d-4b83-5024-9b26-9b8e1b280514

 

 
Código #2: 
 

Python3

# Python3 code to demonstrate working 
# of uuid3() and uuid5()
import uuid
 
# initializing a string
qualified_dns = "www.geeksforgeeks.org"
 
# using NAMESPACE_DNS as namespace
# to find MD5 hash id
print ("The SHA1 hash value generated ID is : ",
    uuid.uuid3(uuid.NAMESPACE_DNS, qualified_dns))
 
# using NAMESPACE_DNS as namespace
# to generate SHA-1 hash id
print ("The MD5 hash value generated ID is : ",
    uuid.uuid5(uuid.NAMESPACE_DNS, qualified_dns))
Producción: 

The SHA1 hash value generated ID is :  adbed9f7-bbe3-376f-b88d-2018b8f6db07
The MD5 hash value generated ID is :  f72cdf8a-b361-50b2-9451-37a997f8675d

 

  
Nota: la generación de ID es un proceso de 2 pasos. En primer lugar, se lleva a cabo la concatenación de strings y espacios de nombres, luego se proporciona como entrada a la función respectiva para devolver un UUID 128 generado. Si se vuelve a elegir el mismo valor de NAMESPACE con una string similar, el ID generado también será el mismo.
 
Referencia: https://docs.python.org/2/library/uuid.html
 

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 *