← Volver

Cómo cifrar una cadena con MD5

Vía el módulo estándar hashlib.

>>> from hashlib import md5
>>> md5(b"Hola mundo!").hexdigest()
'daaef200ebb921e011e3ae922dd3266b'

Nótese que hashlib.md5() toma como argumento un objeto del tipo bytes. Por ende, para cifrar objetos del tipo str primero debemos codificarlo.

>>> s = "Hola mundo!"
>>> md5(s.encode("utf-8")).hexdigest()
'daaef200ebb921e011e3ae922dd3266b'

Para cifrar el contenido de un archivo (e.g., una imagen) podemos emplear el siguiente código.

with open("imagen.jpg", "rb") as f:
print(md5(f.read()).hexdigest())

La información que se quiere cifrar puede ser especificada por partes vía el método update(). Esto es especialmente provechoso cuando es demasiado grande para ser cargada en memoria en su totalidad.

>>> h = md5()
>>> h.update(b"Hola ")
>>> h.update(b"mundo!")
>>> h.hexdigest()
'daaef200ebb921e011e3ae922dd3266b'



¿Alguna duda sobre este código? ¡Preguntanos en el foro!