¿Qué es una función unidireccional?
Son funciones que tienen la propiedad de ser fáciles de calcular pero difíciles de invertir.
¿Qué es un HASH?
Un Hash es un algoritmo matemático que transforma cualquier bloque arbitrario de datos en una nueva serie de caracteres con una longitud fija.
Tipos de HASH
Existen una gran variedad de algoritmos HASH, los más utilizados son:
-
MD5: 16 bytes.
-
SHA1: 20 bytes.
-
SHA256: 55 caracteres de longitud.
-
SHA512: 98 caracteres de longitud.
Programas que podemos utilizar
Para comprobar la integridad de nuestros archivos existen multitud de programas, tanto para Windows, Linux y macOS. Estos son unos ejemplos:
Portables
Windows
Multiplataforma
¿Para qué se utilizan?
Contraseñas
La mayoría de sitios web no almacenan las contraseñas en texto claro. Cuando te registras e introduces tu contraseña, esta página solo almacena el hash de tu contraseña. Cuando quieres acceder otra vez, genera el hash de la contraseña que has introducido y la compara con la que tiene almacenada en su base de datos.
Antivirus
Las empresas de antivirus, utilizan funciones criptográficas hash para detectar malware. Existen listas de hash malware
Archivos y mensajes
Por último, se utiliza para comprobar la integridad de archivos y mensajes. Encontrarás en muchos sitios web de descargas, un archivo llamado MD5.sum o algún otro tipo de hash con la extensión .sum. Esto significa que si quieres comprobar que el archivo no ha sido modificado por un tercero de forma malintencionada.