Así puedes sacar el hash de un archivo sin instalar nada

¿Cuántas veces has necesitado sacar el MD5 o el SHA1 de un archivo y no tienes el programa a mano? Con Windows solo necesitarás acordarte de este comando para calcular el hash de un archivo así de fácil.

ESCENARIO

Hace poco descargué un instalador de un software que necesitaba. Cuando fui a instalarlo la instalación se quedaba a medias y daba un error. Lo volví a descargar por si acaso estaba corrupto y me volvió a dar el mismo fallo. No encontraba el problema.

En este tipo de situaciones te vuelves loco. Hasta que decidí comprobar la integridad sacando el SHA1 y comparándolo con el que me ofrecía el desarrollador. Y adivina que: ¡sorpresa! No coincidía en ninguno de los dos instaladores. Ambas descargas habían fallado y se habían quedado los ficheros corruptos.

Esta situación es habitual, sobre todo cuando tratamos de descargar archivos de gran tamaño. También suele pasar cuando pasamos archivos de un ordenador a otro por medio de un pen drive.

Con el siguiente truco que te muestro, no necesitarás instalar un software o subir un archivo a alguna plataforma online para que te extraiga el hash de un archivo.

SACANDO EL HASH CON POWERSHELL

PowerShell, por defecto, viene con una función capaz de calcular el hash de un archivo.

Con este comando podrás obtener el hash con los siguientes algoritmos:

  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MD5

Un ejemplo de uso básico es el siguiente:

Get-Filehash .\mi_archivo.txt

Como puedes ver es demasiado simple y la salida por pantalla no es muy práctica. A mi me gusta añadir al final del comando el Format-List para que se vea mejor.

Además, si lo has ejecutado te habrás dado cuenta de que el algoritmo por defecto de salida es SHA256. Normalmente los desarrolladores y fabricantes nos dan el hash de los archivos en MD5 y SHA1, a pesar de que ambos están obsoletos. Esto se hace así por practicidad, ya que calcular el MD5 o el SHA1 de un archivo es prácticamente inmediato, y por lo tanto, es una manera rápida de comprobar que te has bajado el archivo correctamente.

Si tuviéramos esta necesidad simplemente habría que añadir -Algorithm seguido del hash que queremos obtener:

Get-Filehash .\mi_archivo.txt -Algorthm MD5 | Format-List
Get-Filehash .\mi_archivo.txt -Algorthm SHA1 | Format-List