HASH. La función que nos permite saber si un archivo ha sido manipulado

En el mundo de la informática, la función Hash tiene un gran valor y múltiples utilidades.

Cualquier archivo (documento, vídeo, imagen, página web, etc.) está sometido a una constante manipulación del mismo. Si comprimimos un vídeo, aplicamos un filtro, recortamos una imagen o hacemos cambios en un fichero de texto, lo que hacemos es interferir en el archivo original. ¿Y si por algún motivo necesitáramos saber si esa carpeta, documento o imagen ha sido manipulado?

Valor Hash

La función Hash, explicada de manera resumida y sencilla, no es más que un algoritmo criptográfico que se aplica al archivo que se quiere garantizar y el cual nos da como resultado una cadena alfanumérica única. Esto quiere decir, que cualquier mínimo cambio que se hiciera en el archivo, alteraría dicha cadena y nos daría como resultado una totalmente diferente.

Veamos el siguiente ejemplo:

Si tomamos la oración «Lo veo fácil» y la ejecutamos a través de un algoritmo SHA256, obtendríamos el siguiente resultado,

Si tomáramos ahora la misma oración, pero escribiéndola en mayúsculas, «LO VEO FÁCIL», obtendríamos un resultado completamente diferente,

Lo veo fácil Función Hash FADB6F52A600BA262632FA2B03A858AE522F37D0A3788AA2C113FE397BD460DA
LO VEO FÁCIL Función Hash E8C766592C4DDF5782DDCD0ACC6E9CAA11164A9B432E25C22C0996931FDCF3E8

Como podemos comprobar no hay dos hash iguales, a no ser, que el segundo sea idéntico al primero.

Este proceso, es aplicable a todo archivo digitalizado y es tremendamente útil a la hora de garantizar la integridad de un documento, un audio o una imagen por ejemplo.

SHA, siglas de Secure Hashing Algorithm, se utiliza para la seguridad criptográfica. La premisa más importante de este algoritmo es que el hash es irreversible y único. Irreversibilidad: los datos originales permanecerán seguros y desconocidos. Unicidad: dos datos diferentes no pueden generar la misma clave.

En 1993 salió a la luz el primer protocolo SHA, también llamado coloquialmente SHA-0. Dos años más tarde, se publicó una variante mejorada más resistente, el SHA-1. Algunos años más tarde se lanzó SHA-2 (versión mejorada de SHA-1), que tiene cuatro variantes según el número de bits, como son SHA-224, SHA-256, SHA-384 y SHA-512.

SHA256, por ejemplo, genera una cadena alfa numérica de 64 caracteres, independientemente de la longitud de los datos originales.

¿Cómo se puede calcular el hash?

  • Ejecutables
    • Quick Hash: Es un programa ejecutable que se puede instalar en nuestro equipo y por tanto, no es necesario subir el archivo a Internet. Es rápido y gratuito. Es de código abierto para los sistemas operativos Linux, Windows y Apple Mac OS, cuenta con una interfaz gráfica de usuario muy amigable y fácil de utilizar. Aquí tenéis el enlace de su página oficial.
  • Online
    • File Checksum: herramienta web que permite la generación de hashes. Tan solo es necesario arrastrar el archivo desde la ubicación en donde está, hasta el sitio web. No solamente puedes generar hashes en SHA2-256 sino también con otras funciones hash que existen. No necesitas realizar registro previo, sólo accede a la web y podrás utilizarlo.
    • HTML5 File Hash Online Calculator: Es otro sitio web que no necesita de registro previo para generar hashes de archivos. Los algoritmos que soporta son MD5, SHA-1, SHA-256, SHA-384 y SHA-512.

Como ves, Verificar el hash del archivo descargado es una forma rápida y fácil de comprobar que tu archivo sea seguro. Si el archivo descargado es malicioso o ha sido alterado de alguna manera, el hash resultante será diferente del hash inicial.