Cómo conocer el hash (checksum) de un archivo en Windows PowerShell

El hash o suma de comprobación de un archivo es un valor corto y único calculado a partir del contenido de un archivo y se suele utilizar para comprobar la integridad y consistencia (coincidencia) de los archivos al descargarlos, especialmente cuando se trata de archivos de gran tamaño (imágenes del sistema y similares) que pueden descargarse con errores o que se sospecha que han sido suplantados por malware.

Los sitios de descarga suelen presentar una suma de comprobación calculada mediante MD5, SHA256 y otros algoritmos, lo que permite cotejar el archivo descargado con el publicado por el desarrollador. Puede utilizar programas de terceros para calcular las sumas de comprobación, pero hay una manera de hacerlo utilizando las herramientas estándar de Windows 10, 8 y Windows 7 (se requiere la versión 4.0 de PowerShell y superior): utilizando PowerShell o la línea de comandos, que se mostrará en la instrucción.

Obtención de la suma de comprobación de un archivo mediante las herramientas de Windows

En primer lugar, tendrás que ejecutar Windows PowerShell: la forma más sencilla de hacerlo es utilizar la búsqueda de la barra de tareas de Windows 10 o el menú Inicio de Windows 7 para hacerlo.

El comando para calcular el hash de un archivo en PowerShell es Get-FileHashPara utilizarlo para calcular una suma de comprobación, basta con escribirlo con los siguientes parámetros (el ejemplo calcula el hash de la imagen ISO de Windows 10 desde la carpeta VM en la unidad C):

Get-FileHash C:VMWin10_1607_Russian_x64.iso| Format-List

Cuando se utiliza de esta manera, el hash se calcula utilizando el algoritmo SHA256, pero se admiten otras variantes y se pueden especificar utilizando el parámetro -Algorithm, por ejemplo, cuando se calcula una suma de comprobación MD5 el comando tendría el siguiente aspecto

Get-FileHash C:VMWin10_1607_Russian_x64.iso -Algorithm MD5 | Format-List

Se admiten los siguientes algoritmos de suma de comprobación de Windows PowerShell

  • SHA256 (por defecto)
  • MD5
  • SHA1
  • SHA384
  • SHA512
  • MACTripleDES
  • RIPEMD160

También hay una descripción detallada de la sintaxis del comando Get-FileHash en el sitio web oficial https://technet.microsoft.com/en-us/library/dn520872(v=wps.650).aspx

Obtener el hash de un archivo en la línea de comandos usando CertUtil

Windows tiene una utilidad CertUtil incorporada para el manejo de certificados que, entre otras cosas, sabe calcular la suma de comprobación de los archivos mediante algoritmos:

  • MD2, MD4, MD5
  • SHA1, SHA256, SHA384, SHA512

Para utilizar la utilidad, simplemente ejecute la línea de comandos de Windows 10, 8 o Windows 7 e introduzca el comando en el formato:

certutil -hashfile путь_к_файлу алгоритм

Un ejemplo de cómo obtener el hash MD5 de un archivo se muestra en la siguiente captura de pantalla.

Opcional: en caso de que necesites programas de terceros para calcular los hash de los archivos en Windows, puedes considerar SlavaSoft HashCalc.

Sin embargo, si necesita calcular la suma de comprobación en Windows XP o Windows 7 sin PowerShell 4 (y la posibilidad de instalarlo), puede utilizar la utilidad de línea de comandos Microsoft File Checksum Integrity Verifier, disponible para su descarga en el sitio web oficial https://www.microsoft.com/en-us/download/details.aspx?id=11533 (formato de comando para utilizar la utilidad: fciv.exe camino_al_archivo – El resultado será MD5. También puede calcular el hash SHA1: fciv.exe -sha1 camino_al_archivo)