Crear Checksum en Windows y Verificar la Integridad del Archivo

¿Has descargado un archivo solo para descubrir que el archivo ha sido corrompido o cambiado? La mejor manera de confirmar la integridad de un archivo es verificar el valor de checksum o hash del archivo. Por suerte, existen varias formas de verificar el checksum de un archivo en Windows.

Sigue leyendo porque aprenderás varias formas de calcular el checksum de un archivo en Windows de forma gratuita. Aprende a usar las herramientas integradas de Windows y utilidades de terceros para generar el valor de checksum de un archivo.

En este artículo, aprenderás cómo crear un checksum en Windows usando cinco herramientas diferentes. ¡Al final, definitivamente sabrás cómo crear hashes en Windows!

Requisitos previos

Dado que este es un artículo de cómo hacerlo, seguirás el enfoque de aprendizaje mediante la práctica. Algunas herramientas utilizadas en este artículo son integradas o proporcionadas por Microsoft; algunas también provienen de fuentes de terceros. Para seguir, asegúrate de tener al menos una computadora con Windows 10 o, como mínimo, Windows Server 2012.

Los requisitos previos para cada método de generación de checksums se proporcionarán según sea necesario.

El Verificador de Integridad del Checksum de Archivos (FCIV)

La herramienta de Microsoft Verificador de Integridad del Checksum de Archivos (FCIV) fue introducida originalmente en Windows Server 2012 R2 y está disponible para todas las versiones futuras.

Suponga que ha instalado la herramienta FCIV en C:\Tools\fciv.exe. Ejecute el siguiente comando en un símbolo del sistema o en un símbolo de PowerShell para generar el checksum MD5 del archivo VSCodeUserSetup-x64-1.52.1.exe. Si su archivo se encuentra en otro lugar, modifique la ubicación adecuadamente.

C:\Tools\fciv.exe C:\downloads\VSCodeUserSetup-x64-1.52.1.exe

Después de ejecutar el comando FCIV, verá un resultado similar al que se muestra en la captura de pantalla a continuación. Como puede ver, el comando fciv.exe generó el hash MD5, por defecto, para el archivo dado.

Computing an MD5 checksum in Windows using fciv.exe.

FCIV solo puede generar hashes de archivos MD5 o SHA-1.

Ahora que ha calculado un checksum MD5, ¿por qué no generar también el checksum SHA-1 del archivo? Para crear el checksum SHA-1 del mismo archivo utilizado en el ejemplo anterior, agregue la opción sha1 al final del comando existente. Como se muestra en la captura de pantalla a continuación, se genera el hash SHA-1 para el mismo archivo que antes.

C:\Tools\fciv.exe C:\downloads\VSCodeUserSetup-x64-1.52.1.exe -sha1
Generating SHA-1 checksum in Windows using fciv.exe.

¡Buen trabajo! Ha creado tanto un valor de checksum MD5 como SHA-1. ¿Por qué no generar ambos valores de hash MD5 y SHA-1 al mismo tiempo? En lugar de usar la opción sha1, use both.

C:\Tools\fciv.exe C:\downloads\VSCodeUserSetup-x64-1.52.1.exe -both

Los valores de hash resultantes están etiquetados como MD5 y SHA-1. El uso del parámetro both ahorra tiempo cuando necesita generar tanto valores de hash MD5 como SHA-1.

Computing both MD5 and SHA-1 checksum using fciv.exe.

Aunque FCIV es una herramienta útil para calcular hashes de archivos, FCIV es más antiguo y los algoritmos de hashing están limitados a MD5 y SHA-1. Microsoft declaró oficialmente que FCIV es una herramienta de línea de comandos no compatible. A pesar de esto, en ausencia de otras herramientas, FCIV aún puede servir como una excelente alternativa.

En este punto, has creado valores hash MD5 y SHA-1 utilizando la herramienta fciv.exe. ¿Qué piensas hasta ahora? Sé que estás listo para aprender la siguiente herramienta.

Usar Certutil

Certutil es otra excelente herramienta para generar el checksum de un archivo en Windows. El nombre exacto del programa es certutil.exe, el cual está disponible por defecto.

El propósito principal de certutil.exe es para certificados. Pero, certutil.exe tiene una función para crear checksums de archivo en Windows usando los siguientes algoritmos hash:

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

Veamos cómo funciona.

Abre PowerShell o un símbolo del sistema para comenzar a calcular checksums de archivos, utilizando la sintaxis que se muestra a continuación.

certutil.exe -hashfile [Path to File] [Hash Algorithm]

En el ejemplo a continuación, certutil.exe genera el hash SHA-256 del archivo C:\downloads\VSCodeUserSetup-x64-1.52.1.exe, como se muestra en la captura de pantalla resultante.

certutil.exe -hashfile "C:\downloads\VSCodeUserSetup-x64-1.52.1.exe" SHA256
Using certutil.exe to create a file checksum.

Ahora sabes cómo usar certutil.exe para crear un checksum de archivo. Para practicar, intenta generar el valor hash del archivo usando todos los otros algoritmos disponibles. ¡Sigue leyendo para aprender cómo usar Get-FileHash y PowerShell para generar un hash de archivo!

¿Sabías que los algoritmos de hash, como SHA-256, también se utilizan al crear certificados SSL?

Uso del cmdlet Get-FileHash de PowerShell

Has estado leyendo y utilizando herramientas de línea de comandos para crear sumas de verificación de archivos en Windows desde el inicio de este artículo. Una herramienta más de línea de comandos que aprenderás a utilizar es el cmdlet Get-FileHash de PowerShell.

Antes de usar Get-FileHash, consulta la sintaxis a continuación para familiarizarte con los parámetros disponibles. Utiliza el parámetro Path para especificar un archivo de destino y el parámetro Algorithm para indicar qué algoritmo de hash utilizar.

Get-FileHash -Path [path to file] -Algorithm [Hash Algorithm]

Los algoritmos de hash disponibles para Get-FileHash se enumeran a continuación. Notarás que las opciones de algoritmos de hash son diferentes a las que ofrecen FCIV y CertUtil. Además, los algoritmos más antiguos y vulnerables ya no se incluyen, como los algoritmos MD1 y MD4.

  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MACTripleDES
  • MD5
  • RIPEMD160

El comando a continuación calcula el valor hash del archivo VSCodeUserSetup-x64-1.52.1.exe utilizando el algoritmo SHA-256. Copia y ejecuta el código a continuación en PowerShell para probar, asegurándote de cambiar la ruta del archivo según sea necesario.

Get-FileHash -Path C:\downloads\VSCodeUserSetup-x64-1.52.1.exe -Algorithm sha256

Como se puede ver en la captura de pantalla a continuación, el comando Get-FileHash calculó el valor hash SHA-256 del archivo según lo especificado con el parámetro -Algorithm sha256.

Using Get-FileHash to compute the SHA-256 checksum of a file.

Si deseas calcular el checksum del archivo utilizando algoritmos diferentes, solo necesitas cambiar el valor del parámetro Algorithm. ¿Crees que ahora puedes crear el checksum SHA-512 de un archivo usando Get-FileHash? ¡Apuesto a que sí!

Generando Hashes Para Múltiples Archivos Simultáneamente

Con Get-FileHash, es posible generar el checksum de varios archivos al mismo tiempo. El código de ejemplo a continuación almacena la lista de rutas de archivos en la variable $files. Luego, Get-FileHash utiliza la variable $files para calcular el checksum SHA-256 de cada archivo, como se muestra en la captura de pantalla a continuación.

$files = @(
    'C:\downloads\PowerShell-7.1.0-win-x64.msi',
    'C:\downloads\VSCodeUserSetup-x64-1.52.1.exe'
)
Get-FileHash -Path $files -Algorithm sha256
Using Get-FileHash to compute the hash values for each file stored in the $files array.

¿Y si necesitas generar un hash para una carpeta llena de archivos? En lugar de crear manualmente la matriz $files, utiliza el cmdlet Get-ChildItem para recuperar la lista de archivos en una carpeta dada.

En el comando a continuación, el cmdlet Get-ChildItem recupera la lista de archivos dentro de la carpeta c:\downloads. El resultado se pasa luego a través del pipeline de PowerShell al cmdlet Get-FileHash, que a su vez calcula el valor hash SHA-256 de cada archivo.

(Get-ChildItem C:\downloads).Fullname | Get-FileHash -Algorithm sha256

Dependiendo de los tamaños de archivo, el tiempo necesario para generar un checksum puede variar. En este ejemplo, el comando tomó aproximadamente veinte segundos para calcular el checksum de un archivo ISO de 8 GB. El resultado debería parecerse a la captura de pantalla a continuación.

Using Get-ChildItem and Get-FileHash to compute the hash values for each file in a folder.

Uso de Herramientas de Terceros para Crear Checksums de Archivos en Windows

Si por alguna razón encuentras que las herramientas integradas para generar checksums de archivos en Windows no son suficientes, hay herramientas de terceros disponibles. No todas son gratuitas, pero a continuación se muestran algunas utilidades gratuitas y populares.

7-Zip

¿Estás cansado de usar la línea de comandos y buscas una herramienta gráfica para crear checksum de archivos en Windows? 7-zip es una herramienta popular y gratuita de compresión de archivos que puede generar el valor hash de un archivo.

Instalar 7-zip en tu computadora añade automáticamente una opción en el menú contextual para generar el checksum de un archivo. Para obtener el valor hash de un archivo, sigue estos pasos:

  1. Haz clic derecho en el archivo para generar el checksum.
  2. Selecciona la opción de menú CRC SHA para ver los algoritmos hash disponibles.
  3. Finalmente, haz clic en el algoritmo hash que desees usar.

En el ejemplo a continuación, la opción asterisco (*) muestra el valor hash del archivo utilizando todos los algoritmos disponibles. ¿Qué te parece eso de fácil?

Using the 7-Zip context menu to calculate a file’s checksum in Windows.

A continuación, aprende cómo usar la herramienta HashMyFiles para generar checksums de múltiples archivos como alternativa a 7-Zip.

HashMyFiles

Olvídate del comando de línea y del clic derecho. HashMyFiles puede crear los valores de checksum o hash de un solo archivo, varios archivos o directorios enteros usando arrastrar y soltar.

Lanza el programa HashMyFiles y arrastra los archivos o carpetas para generar un hash en la ventana principal de HashMyFiles. Como se muestra a continuación, la ventana principal muestra los archivos y los hashes asociados en un formato de tabla, con información adicional disponible en la ventana de propiedades.

Using HashMyFiles to get the file hash of multiple files by using drag and drop

Además, HashMyFiles puede exportar los valores de hash o checksum a un informe HTML o a un archivo delimitado por tabuladores. Esta función de exportación es útil cuando deseas mantener un registro de los valores de checksum de los archivos.

Pasos siguientes

En este artículo, has aprendido que hay varias formas de crear un checksum de archivo en Windows. Microsoft tiene herramientas integradas de línea de comandos como certutil.exe y Get-FileHash.

También hay herramientas de terceros que son gratuitas y relativamente fáciles de usar. Sea cual sea tu elección de herramienta para generar valores de hash de archivo, el concepto y el resultado son los mismos para cada algoritmo de hash.

¿Qué sigue para ti? Tal vez poner a prueba tus habilidades de scripting y crear un inventario de checksum de archivos cruciales usando alguna de las herramientas que aprendiste en este artículo.

Source:
https://adamtheautomator.com/checksum-windows/