Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

¿Qué son MD5, SHA-1y SHA-256 Hashes, y ¿cómo los verifico?

A veces verás MD5, SHA-1, o hashes SHA-256 que se muestran junto a las descargas durante sus viajes por Internet, pero no se sabe realmente qué son. Estas cadenas de texto aparentemente aleatorias le permiten verificar que los archivos que descarga no estén dañados ni manipulados. Puedes hacer esto con los comandos integrados en WindowsmacOS y Linux.

Cómo funcionan los hashes y cómo se utilizan para la verificación de datos

Los hashes son productos de algoritmos criptográficos diseñados para producir una cadena de caracteres. A menudo, estas cadenas tienen una longitud fija, independientemente del tamaño de los datos de entrada. Eche un vistazo al cuadro anterior y verá que tanto “Zorro” como “El zorro rojo salta sobre el perro azul” producen la misma longitud.

Ahora compare el segundo ejemplo del cuadro con el tercero, cuarto y quinto. Verás que, a pesar de un cambio mínimo en los datos de entrada, los hashes resultantes son todos muy diferentes entre sí. Incluso si alguien modifica una parte muy pequeña de los datos de entrada, el hash cambiará drásticamente.

MD5, SHA-1y SHA-256 son funciones hash diferentes. Los creadores de software a menudo descargan un archivo, como un archivo .iso de Linux o incluso un Windows .exe y ejecútelo a través de una función hash. Luego ofrecen una lista oficial de hashes en sus sitios web.

De esa manera, puede descargar el archivo y luego ejecutar la función hash para confirmar que tiene el archivo original real y que no se ha dañado durante el proceso de descarga. Como vimos anteriormente, incluso un pequeño cambio en el archivo cambiará drásticamente el hash.

Estos también pueden ser útiles si tienes un archivo que obtuviste de una fuente no oficial y quieres confirmar que es legítimo. Digamos que tienes un Linux.ISO archivo que obtuvo de algún lugar y desea confirmar que no ha sido manipulado. Puedes buscar el hash de ese específico ISO archivo en línea en el sitio web de la distribución de Linux. Luego puede ejecutarlo a través de la función hash de su computadora y confirmar que coincide con el valor hash que espera que tenga. Esto confirma que el archivo que tiene es exactamente el mismo que se ofrece para descargar en el sitio web de la distribución de Linux, sin ninguna modificación.

Note que se han encontrado “colisiones” con el MD5 y SHA-1 funciones. Estos son varios archivos diferentes (por ejemplo, un archivo seguro y un archivo malicioso) que dan como resultado el mismo archivo MD5 o SHA.1 picadillo. Es por eso que deberías preferir SHA-256 cuando sea posible.

Cómo comparar funciones hash en cualquier sistema operativo

Con eso en mente, veamos cómo verificar el hash de un archivo que descargaste y compararlo con el que te dieron. Aquí hay métodos para Windows, macOS y Linux. Los hash siempre serán idénticos si usas la misma función hash en el mismo archivo. No importa qué sistema operativo utilices.

Windows

Este proceso es posible sin ningún software de terceros en Windows gracias a PowerShell.

Para comenzar, abra una ventana de PowerShell iniciando el “Windows “PowerShell” en el menú Inicio.

Ejecute el siguiente comando, reemplazando “C:\path\to\file.iso” con la ruta a cualquier archivo cuyo hash desee ver:

Get-FileHash C:\path\to\file.iso

Tomará algún tiempo generar el hash del archivo, dependiendo del tamaño del archivo, el algoritmo que esté utilizando y la velocidad de la unidad en la que se encuentra el archivo.

De forma predeterminada, el comando mostrará el hash SHA-256 de un archivo. Sin embargo, puede especificar el algoritmo hash que desea utilizar si necesita un MD5, SHA-1u otro tipo de hash.

Ejecute uno de los siguientes comandos para especificar un algoritmo hash diferente:

Get-FileHash C:\path\to\file.iso -Algorithm MD5
Get-FileHash C:\path\to\file.iso -Algorithm SHA1
Get-FileHash C:\path\to\file.iso -Algorithm SHA256
Get-FileHash C:\path\to\file.iso -Algorithm SHA384
Get-FileHash C:\path\to\file.iso -Algorithm SHA512
Get-FileHash C:\path\to\file.iso -Algorithm MACTripleDES
Get-FileHash C:\path\to\file.iso -Algorithm RIPEMD160

Compare el resultado de la función hash con el resultado que esperaba ver. Si es el mismo valor, el archivo no ha sido dañado, manipulado ni alterado de ninguna otra manera con respecto al original.

Mac OS

macOS incluye comandos para ver diferentes tipos de hashes. Para acceder a ellos, inicie una ventana de Terminal. Lo encontrarás en Finder > Aplicaciones > Utilidades > Terminal.

El comando md5 muestra el hash MD5 de un archivo:

md5 /path/to/file

El comando shasum muestra el SHA-1 hash de un archivo de forma predeterminada. Eso significa que los siguientes comandos son idénticos:

shasum /path/to/file
shasum -a 1 /path/to/file

Para mostrar el hash SHA-256 de un archivo, ejecute el siguiente comando:

shasum -a 256 /path/to/file

linux

En Linux, acceda a una Terminal y ejecute uno de los siguientes comandos para ver el hash de un archivo, según el tipo de hash que desee ver:

md5sum /path/to/file
sha1sum /path/to/file
sha256sum /path/to/file

Algunos hashes están firmados criptográficamente para mayor seguridad

Si bien los hashes pueden ayudarlo a confirmar que un archivo no fue manipulado, todavía hay una vía de ataque aquí. Un atacante podría obtener el control del sitio web de una distribución de Linux y modificar los hashes que aparecen en él, o un atacante podría realizar un ataque de intermediario y modificar la página web en tránsito si estuviera accediendo al sitio web a través de HTTP en lugar de HTTPS cifrado.

Es por eso que las distribuciones modernas de Linux a menudo proporcionan más que los hashes enumerados en las páginas web. Firman criptográficamente estos hashes para ayudar a proteger contra atacantes que podrían intentar modificar los hashes. Querrá verificar la firma criptográfica para asegurarse de que el archivo hash realmente haya sido firmado por la distribución de Linux si quiere estar absolutamente seguro de que el hash y el archivo no fueron manipulados.

Relacionado: Cómo verificar un Linux ISOla suma de comprobación y confirme que no ha sido manipulada

Verificar la firma criptográfica es un proceso más complicado. Lea nuestra guía para verificar que los ISO de Linux no hayan sido manipulados para obtener instrucciones completas.

Credito de imagen: Jorge Stolfi/Wikimedia