Aprende a obtener un hash SHA3 o SHA2-512 en Windows

Aprende a obtener un hash SHA3 o SHA2-512 en Windows

José Antonio Lorenzo

Actualmente existen una gran cantidad de algoritmos de hash para comprobar la integridad de los diferentes archivos que nos descargamos por Internet, transferimos a otros usuarios, e incluso podremos comprobar si un determinado archivo se ha modificado o no. Gracias a herramientas gratuitas como QuickHash, podremos generar el hash de diferentes archivos haciendo uso de diferentes algoritmos de hash como SHA-3 e incluso SHA2-512. Hoy en RedesZone os vamos a explicar qué es un hash, cuáles son los más utilizados, y cómo podemos obtener el hash SHA3 de un archivo en Windows.

Qué es un hash y para qué podemos utilizarlo

Una explicación simple de lo que es un hash, es que es una huella digital única de los datos digitales, si los datos de un archivo en concreto cambian, el hash cambiará por completo. Gracias a los hashes podremos comprobar si un archivo de ha modificado, e incluso podremos comprobar la integridad de los archivos al enviarlos por Internet o descargarlos de diferentes servidores. Actualmente disponemos de muchos algoritmos de hash, algunos de ellos ya se consideran inseguros porque se han descubierto colisiones (al generar el hash de dos archivos diferentes, se obtiene el mismo hash) como MD5 o SHA1, sin embargo, hoy en día disponemos de algoritmos de hash seguros como SHA2-256, SHA2-512 e incluso el último SHA3 que ya tenemos disponible.

Un aspecto muy importante de los hashes, es que en cuanto se altere un determinado dato en el archivo, el código alfanumérico de tenemos como salida en el hash, se altera por completo. Imaginad por un momento que tenéis que descargar el firmware de un router de un servidor que está en otro continente. Si, por ejemplo, ese archivo estuviese corrupto en la descarga, y se se iniciase la actualización, podría dejar inservible ese dispositivo. Algunos fabricantes facilitan el hash de sus archivos para comprobar que hemos realizado una descarga correcta.

En este caso, con una herramienta que pudiese generar un hash que soportase el algoritmo MD5 o SHA-1, podríamos contrastarlo con el que nos está ofreciendo el fabricante. Si coincide, habremos verificado su integridad, y podremos proceder a la instalación del firmware sin ningún miedo. En caso contrario, sabremos que está mal y no debemos instalarlo. Un ejemplo de programa que podemos utilizar es QuickHash del que hablaremos más adelante.

Una cosa a tener en cuenta es que, con el hash de un determinado archivo no se puede recuperar el archivo original. También una buena práctica de seguridad es almacenar los hashes de las contraseñas en las bases de datos, y así nadie podría obtener la información en texto plano. De cara a almacenar las contraseñas, existen algoritmos de hash específicamente diseñados para ello, como scrypt o bcrypt.

QuickHash: genera hashes SHA3 o SHA2-512 fácilmente

QuickHash se trata de una una herramienta de hashes de datos 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. Esta herramienta actualmente soporta los siguientes algoritmos hash: MD5, SHA1, SHA-3 (256 bits), SHA2-256, SHA2-512, xxHash, Blake2B (256 bits) y Blake3, por tanto, es una herramienta realmente completa. Por si todo esto fuera poco, debemos indicar que es totalmente gratuita, y su desarrollo se sostiene gracias a las donaciones de las personas que la usan.

Descarga, puesta en marcha y pantalla principal

Para descargar la herramienta QuickHash tenemos que pulsar sobre el siguiente enlace para descargar gratis QuickHash. Como ya comentamos anteriormente, podremos utilizar la versión para Windows, Linux y MacOS. En mi caso voy a utilizar la última versión disponible para Windows, la versión en concreto es la 3.2.0. Una vez descargado nos encontraremos un fichero en formato ZIP, el cual procederemos a descomprimir en una carpeta.

Un aspecto muy positivo que tiene esta herramienta, es que no requiere de instalación, por lo tanto, en esa carpeta que acabamos de descomprimir lo único que tenemos que hacer es doble clic sobre el archivo Quickhash-GUI, en el explorador de archivos veréis como tipo aplicación. También tenemos una guía de usuario de la propia herramienta.

La primera vez que lo iniciéis aparecerá una pantalla como esta:

Arriba en el recuadro rojo tenemos las opciones principales del programa que son:

  • Text: para hacer hash con fragmentos de texto, como, por ejemplo, párrafos de un archivo.
  • File: para seleccionar y luego aplicar hash a un archivo individual.
  • FileS: para hacer hash de varios archivos que se encuentren en un directorio.
  • Copy: sirve para copiar y pegar, pero con la integridad de datos agregada de hash. Está diseñado para permitir que un usuario copie archivos de un lugar a otro, pero tenga el proceso de copiado verificado y respaldado por valores hash.
  • Compare Two Files: compara los hashes de dos archivos diferentes que se encuentran en dos localizaciones diferentes.
  • Compare Two Folders: sirve para comparar el contenido del archivo de una carpeta con otra para ver si todos los archivos dentro coinciden según el hash (los nombres de archivo no se comparan).
  • Disk: para comprobar el hash de discos físicos y volúmenes lógicos.
  • Base64Data: permite al usuario aplicar un hash a un archivo Base64 codificado y generar un hash de su contraparte decodificada, sin que el usuario tenga que crear la versión decodificada. Además, admite la decodificación de datos codificados en Base64, únicamente por conveniencia.

En morado están los algoritmos que podemos utilizar para obtener nuestros hashes, a destacar los algoritmos de SHA2-512, SHA-3 y también BLAKE3.

Apartados Text, File, Compare Two Files de QuickHash

Vamos a empezar con el apartado Text. Por ejemplo, imaginad que necesitamos el hash del texto RedesZone con el algoritmo SHA-1. Esto se haría así, empezando por seleccionar el algoritmo SHA-1, luego escribimos el texto y abajo finalmente obtendríamos el hash.

Al principio del tutorial hablábamos del archivo de un router que queríamos comprobar si estaba en buen estado tras su descarga, y si no se había corrompido. El fabricante daba la posibilidad de verificar que ese archivo estaba bien utilizando el algoritmo SHA-1. Así ofrecía el siguiente valor para la verificación: 88F69E6FBC7C52B3DA9DEC8EB718CFF06232C409.

Para comprobarlo, nos dirigimos al aparatado File. En Select File seleccionamos el archivo del firmware, ponemos el algoritmo SHA-1 y entonces podemos comprobar que el hash es idéntico. Eso significa que el archivo está bien, y podemos flashear el firmware con total tranquilidad.

Ahora vamos a comparar dos archivos utilizando el algoritmo SHA2-512. Para ello, nos dirigimos a Compare Two Files. Primero vamos a poner un ejemplo con dos archivos distintos. Empezamos seleccionando el algoritmo y luego los dos archivos. El primer archivo lo pondríamos en Select File A y el segundo archivo para realizar la comparación en Select File B. A continuación, damos a Compare Now y en rojo saldrá MIS-MATCH indicando que son diferentes.

Por el contrario, si cogemos dos archivos iguales y repetimos el proceso siguiendo los mismos pasos y dando a Compare Now obtenemos este resultado:

Aquí pone escrito en negro MATCH!, que quiere decir que coinciden.

Apartados FileS, Copy y Compare Two Folders de QuickHash

El siguiente apartado que va a utilizar es FileS, que se utiliza para ver el hash de los archivos que hay en un directorio. En Select Folder seleccionamos la carpeta. Como podéis apreciar, detecta los archivos que se encuentran en los subdirectorios. También tiene la opción de buscar directorios ocultos con la opción Hidden folders too? Además, tenéis una barra estilo reproductor multimedia para ir moviéndonos entre los archivos.

Ahora llega el turno del apartado Copy, que sirve para copiar archivos y que verifique que lo ha hecho de forma correcta comprobando su hash. Empezaremos como siempre, eligiendo un algoritmo. Luego, en el lado de la izquierda, elegimos la carpeta de origen que queremos copiar. En la derecha elegimos la de destino, en este caso creé una carpeta vacía llamada Prueba. Una vez hecho pulsamos en Go! para que inicie el proceso.

Entonces nos sale una pantalla como esta. Aquí vemos la ruta de ambas, tanto de origen y de destino con sus correspondientes hashes. En este caso se aprecia que coinciden y que se han copiado 5 archivos.

Si salimos de aquí, vemos cómo indica un resumen del trabajo realizado y que el proceso de copiado ha finalizado.

El siguiente apartado que vamos a ver es Compare Two Folders que sirve para comparar los hashes de los archivos de dos directorios. Para ello, seleccionamos el algoritmo, en Select Folder A ponemos una carpeta y en Select Folder B la otra. A continuación, pulsamos en Compare Now.

Aquí vemos las rutas de ambas con sus correspondientes hash y se aprecia que coinciden.

Si volvemos a la pantalla donde comenzamos abajo en el recuadro rojo nos pone en inglés que los dos directorios coinciden.

Por último, como podéis ver, Quickhash se convierte en una útil herramienta con la que podremos trabajar con los hashes de muchas maneras.