Hachís MD5 en Python

Los hashes criptográficos se utilizan en la vida cotidiana, como firmas digitales, códigos de autenticación de mensajes, detección de manipulación, huellas dactilares, sumas de verificación (verificación de integridad de mensajes), tablas hash, almacenamiento de contraseñas y mucho más. También se utilizan para enviar mensajes a través de la red por seguridad o almacenar mensajes en bases de datos.

Hay muchas funciones hash definidas en la biblioteca » hashlib » en python.
Este artículo trata sobre la explicación y el funcionamiento del hash MD5.

Hachís MD5

Esta función hash acepta una secuencia de bytes y devuelve un valor hash de 128 bits , generalmente utilizado para verificar la integridad de los datos, pero tiene problemas de seguridad.

Funciones asociadas:

  • codificar(): convierte la string en bytes para que sea aceptable para la función hash.
  • digest() : Devuelve los datos codificados en formato de byte.
  • hexdigest() : Devuelve los datos codificados en formato hexadecimal.

El siguiente código demuestra el funcionamiento del hash MD5 que acepta bytes y la salida como bytes.

# Python 3 code to demonstrate the 
# working of MD5 (byte - byte)
  
import hashlib
  
# encoding GeeksforGeeks using md5 hash
# function 
result = hashlib.md5(b'GeeksforGeeks')
  
# printing the equivalent byte value.
print("The byte equivalent of hash is : ", end ="")
print(result.digest())

Producción:

The byte equivalent of hash is : b'\xf1\xe0ix~\xcetS\x1d\x11%Y\x94\\hq'

Explicación: el código anterior toma un byte y puede ser aceptado por la función hash. La función hash md5 lo codifica y luego, usando digest(), se imprime la string codificada equivalente en bytes.

El siguiente código demostró cómo tomar una string como entrada y salida equivalente hexadecimal del valor codificado.

# Python 3 code to demonstrate the 
# working of MD5 (string - hexadecimal)
  
import hashlib
  
# initializing string
str2hash = "GeeksforGeeks"
  
# encoding GeeksforGeeks using encode()
# then sending to md5()
result = hashlib.md5(str2hash.encode())
  
# printing the equivalent hexadecimal value.
print("The hexadecimal equivalent of hash is : ", end ="")
print(result.hexdigest())

Producción:

The hexadecimal equivalent of hash is : f1e069787ece74531d112559945c6871

Explicación: el código anterior toma una string y la convierte en el byte equivalente usando encode() para que pueda ser aceptado por la función hash. La función hash md5 lo codifica y luego, usando hexdigest(), se imprime una string codificada hexadecimal equivalente.

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 *