A través de Internet podemos tener acceso a todo tipo de programas y documentos y, dependiendo de desde dónde lo descarguemos, hay un método que nos permite saber si se trata del programa original que ha compilado el creador o si es una versión modificada, lo que supone suponer un peligro para la seguridad de nuestro PC.
Al igual que podemos saber si estamos descargando el archivo tal y como lo compiló el desarrollador, también podemos saber si, una vez compartimos un archivo, este se ha modificado, aunque tan solo sea para quitar o poner un punto.
Para conocer esta información, es necesario saber cuál es su huella, una huella que nos permite identificar el contenido de un archivo utilizando una secuencia de caracteres. Esto se conoce como hash. Para calcular el hash de un programa o archivo (foto, documento, vídeo entre otros), tan solo debemos aplicar una función matemática, que se encarga de analizar el archivo/programa para crear una secuencia numérica.
Qué es un hash y para qué sirve
El hash es una huella de invariable de un programa o archivo. El desarrollador de una aplicación o nosotros mismos, podemos crear un hash del archivo que vamos a compartir en Internet o con otras personas para, toda persona que se descargue ese archivo compruebe que se trata del archivo original y que no ha sido modificado por ninguna otra persona.
Si, por ejemplo, compartimos un archivo de Word con otras personas, antes de hacerlo, podemos crear el hash de este para comprobar, cuando nos lo devuelvan, si ha sido modificado en cualquier momento, aunque sea una coma, un punto o una palabra. Cuando se crea un hash, podemos utilizar diferentes algoritmos (MD5, SHA-1, SHA-256 entre otros) se analiza el archivo y se realizan un determinado número de operaciones matemáticas que analizan su contenido, el tamaño del archivo y nos muestra una secuencia de números y letras.
Podemos calcular el hash del mismo archivo todas las veces que queramos, ya que siempre vamos a obtener la misma secuencia de números y letras, siempre y cuando no lo modifiquemos. De esta forma, siguiendo con el ejemplo, si compartimos un archivo grande Word, del que conocemos el hash antes de compartirlo, si, al recibirlo, volvemos a calcularlo y no tenemos el mismo número, significa que ha sido modificado.
Este mismo caso se puede aplicar un archivo de vídeo, una fotografía, una hoja de Excel o cualquier otro tipo de archivo, da igual que extensión y formato. Esta información es especialmente útil cuando queremos descargar un programa y queremos asegurarnos de que se trata de una versión que realmente ha sido complicado por el desarrollador y no por terceros que lo han puesto en circulación con, probablemente, malas intenciones.
Para conocer cuál es el hash de un programa, tan solo debemos visitar la página web de este, aunque, lamentablemente, no todos ofrecen esta información. En el caso de Windows, no es necesario comprobar cuál es el hash al igual que con las herramientas de Adobe, ya que sus respectivas páginas web son los únicos sitios de donde debemos descargar las aplicaciones. Siempre que descarguemos el software desde la web original del desarrollador, no será necesario comprobarlo.
Cómo comprobar y crear el hash de un archivo
Para crear y/o comprobar un hash, hay que aplicar una función matemática, función que podemos aplicar utilizando alguna de las aplicaciones que os mostramos a continuación.
- QuickHasth GUI. QuickHash GUI es una de las aplicaciones más completas para conocer y crear el hash de cualquier archivo ya que nos permite exportar esta información en formato .html o .csv para almacenarlo. Además, también nos muestra información sobre el contenido del archivo como el número de archivos, el espacio total, la ruta y mucho más. Esta aplicación está disponible para Windows, Linux y macOS a través de este enlace.
- OpenHashTab. OpenHasthTab es una aplicación de código abierto que nos permite comprobar la firma de cualquier archivo sin salir del explorador de archivos. Además, nos permite pegar la firma que tengamos para saber esa información al instante. También podemos utilizar la aplicación para crear el hash de cualquier archivo. Podemos descargar la aplicación desde aquí.
Desde nuestro punto de vista, es mucho más práctica la segunda opción. Esta se incluye dentro de la ventana de «propiedades» de cualquier archivo, y nos permite conocer, y comparar, los hashes cuando queramos con un par de clics de ratón. Pero si queremos algo con una interfaz algo más bonita e intuitiva, como programa independiente, la primera alternativa entonces nos dará lo que necesitamos.
¿Y qué pasa si hemos bajado el archivo de Internet? En ese caso, podemos calcular el hash resultante del archivo que hemos bajado, pero no podemos saber si ese es el original, el que el creador subió a Internet, o si ha sido modificado. En ese caso, lo que tenemos que hacer es buscar en la página web oficial cuál era el hash original del fichero y compararlo con el del archivo que hemos bajado. Si coincide, es que hemos bajado el archivo correctamente, y no ha sido modificado. De lo contrario, el archivo está corrupto, o algo peor.
Para qué necesito verificar el hash de un archivo
Hay que tener en cuenta que estos elementos de los que os hablamos en estas líneas tienen varias utilidades, sobre todo relacionadas con la seguridad y la integridad de los datos. De ahí que a continuación os vamos a hablar de algunos de los principales tipos de uso para los que nos será de utilidad verificar el hash de cualquier archivo.
Comprobar la integridad de los ficheros. Cuando bajamos cualquier archivo de Internet, se puede dar la circunstancia de que necesitemos asegurar de que no ha sido modificado o dañado. Este es uno de los usos más comunes.
Detectar códigos maliciosos integrados. Igualmente nos pueden ser de ayuda para detectar algún tipo de malware que se haya añadido al archivo como tal antes de ejecutarlo en nuestro equipo.
Guardar contraseñas con seguridad. Esta es una excelente alternativa en lugar de utilizar un archivo de texto plano para guardar contraseñas y otros datos sensibles. Así, el sistema calcula el hash y lo compara con el almacenado Para permitirnos el acceso si coinciden.