Hash es una especie de huella digital de un archivo informático que realiza una salida alfanumérica de longitud fija, esto quiere decir que si ese archivo (imagen, texto, ejecutable…) cambia su valor Hash también lo hará, por lo tanto sabemos que lo que descargamos o enviamos va a ser siempre íntegro, sin modificaciones o alteraciones con código malicioso por ejemplo. Debe entenderse esto un poco como el número de identidad de ese archivo.
MD5 fue ideado por el matemático Ron Rivest, y es una evolución de los algoritmos MD2 y MD4. Se trata de una función criptográfica de tipo hash que devuelve como salida una cadena de 128 bits.
Por lo tanto y sin entrar en mayores definiciones técnicas, es importante conocer que en base a estos dos conceptos podemos garantizar de forma satisfactoria lo que enviamos o bien, y quizás más importante, lo que descargamos de Internet.
Con este concepto básico de seguridad e integridad, podremos descargar programas de fuentes que no son las oficiales, siempre y cuando conozcamos el MD5 del archivo, por ejemplo la descarga de un software específico como SpyBot donde nos indica el MD5 del archivo:
Aquí podemos ver todos los archivos .exe y sus distintos MD5, esto quiere decir que si descargamos ese archivo en su versión y el MD5 no es el mismo que el oficial, indicaría que ese archivo ha sido modificado, le falta información o tiene información de más como podrían ser virus añadidos, por ejemplo, pero también algo que nos puede ser útil es cuando un programa da error en su instalación y dudamos si ha sido bajado de forma correcta o desde la fuente fiable, conociendo el MD5 del instalador sabríamos si el problema de instalación reside en el archivo o en nuestro PC por alguna incompatibilidad.
A la vez que nosotros podemos descargar archivos oficiales conociendo su MD5, siempre y cuando se nos indique desde la Web, podemos a su vez verificarlo o bien conocer el MD5 de cualquier archivo de nuestro PC donde estamos seguros que no existe ninguna modificación.
Para ello vamos a emplear el programa HashTab que nos crea una pestaña nueva en las propiedades de los archivos informáticos que tengamos en nuestro PC con la información sobre este término.
Se ha creado un archivo «prueba.txt» y en las propiedades normales de Windows (en este caso Windows 8.1) se puede observar la pestaña «Hash de Archivos» donde nos indica el algoritmo MD5. Este documento tiene esta cadena MD5 porque contiene el texto «esto es una prueba«, si ese texto cambiara, se pusieran espacios, caracteres o se eliminara algo del mismo, ya no tendría la cadena MD5 que consta en sus propiedades, tendría otra distinta. Algo tan sencillo como esto nos garantiza que si enviamos ese archivo con ese MD5, llegará exactamente lo que nosotros deseamos, de lo contrario ha sido manipulado antes o despúes del envío.
Pero si lo que queremos, es simplemente verificar el algoritmo MD5 de un archivo que bajemos de Internet o bien de cualquier archivo informático que tengamos, podemos usar también la herramienta gratuíta HashCalc que nos averiguará que MD5 tiene un archivo en concreto.
En el ejemplo de antes, simplemente hemos pasado la herramienta HashCalc seleccionando el archivo en concreto y pulsando en «calculate» para que nos devuelva el valor MD5, que como podemos comprobar es el mismo que nos sale en las propiedades del archivo, omitiendo mayusculas y minúsculas que no tienen interpretación en estas cadenas.