Cómo generar el hash MD5, SHA de una cadena de texto y de un fichero con Pythom y la librería hashlib. Ejemplo de programa en Python que solicita un fichero (o una cadena de texto) y obtiene el hash MD5, SHA512, SHA1, SHA224, SHA256, SHA384 y SHA512. También podremos obtener el tamaño del fichero.

Programa que obtiene el hash MD5 y SHA de un fichero o un texto en Python

A continuación listamos el código del programa completo que muestra un menú para que el usuario pueda introducir el fichero y pueda obtener el hash MD5 o SHA (en variaciones como SHA512, SHA1, SHA224, SHA256, SHA384 y SHA512) y también el MD5 y SHA512 de una cadena de texto:

Guardaremos el código Python anterior en un fichero, por ejemplo llamado algoritmos.py.

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

Una vez generado el fichero algoritmos.py con el código fuente Python anterior, lo podremos ejecutar con el comando:

«C:/Program Files/python.exe» d:/ProyectoA_Python/Encriptación/algoritmos.py

Suponiendo que tenemos el ejecutable python.exe en la carpeta C:/Program Files/ y suponiendo que tenemos el fichero algoritmos.py en la carpeta d:/ProyectoA_Python/Encriptación.

Tras ejecutarlo, nos mostrará un menú. En primer lugar, si queremos obtener el hash de un fichero, pulsaremos «0» e INTRO, para elegir un fichero:

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

Introduciremos la ruta y nombre del fichero para el que obtendremos el hash y pulsaremos INTRO:

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

La aplicación Python volverá al menú principal, mostrando el nombre del fichero elegido. Introduciremos una opción de menú del 1 al 7 para obtener el hash MD5 o SHA del fichero. Por ejemplo, si pulsamos «2» e INTRO, mostrará el MD5 del fichero elegido:

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

Nos mostrará en la parte superior el MD5 del fichero:

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

De la misma forma, pulsando cualquier otro número, podremos obtener el resto de hash. Si queremos cambiar de fichero volveremos a pulsar «0».

Eligiendo la opción «1» nos mostrará el tamaño del fichero elegido en kilobytes:

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

Y si queremos obtener el MD5 o el SHA512 de una cadena de texto pulsaremos 8 (para MD5) o 9 (para SHA512):

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

Nos pedirá que introduzcamos el texto, lo introduciremos, pulsaremos INTRO y nos obtendrá el SHA512:

Ejecutar programa algoritmos.py que obtiene el hash MD5 y SHA de ficheros y cadenas de texto

Cómo obtener los algoritmos hash disponibles en nuestro Python

A continuación mostramos el código para obtener todos los algoritmos disponibles:

Al ejecutarlo mostrará:

Cómo obtener los algoritmos hash disponibles en nuestro Python