Obtenga File Hash con PowerShell en Windows 10
En Windows 10 y Windows 8, es posible obtener valores Hash para un archivo sin utilizar herramientas de terceros. Un cmdlet especial le permitirá calcular los valores hash SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5 y RIPEMD160 de un archivo determinado. Así es como se puede hacer.
El propósito general de los valores hash es garantizar que un archivo sea genuino y que su contenido no haya sido modificado por un tercero, otro software o malware. Cuando se modifica un archivo, su valor hash también se modifica. También es posible comparar y hacer coincidir valores hash para encontrar si dos o más archivos son idénticos.
La capacidad de calcular el hash del archivo es parte de la API criptográfica de Windows. La interfaz de usuario del sistema operativo no tiene la opción de calcular o mostrar el valor hash de los archivos. En su lugar, puede usar el cmdlet Get-FileHash en PowerShell. A continuación se explica cómo utilizarlo.
Para obtener el hash del archivo con PowerShell en Windows 10, Haz lo siguiente.
La sintaxis general del cmdlet es la siguiente:
Get-FileHash c: \ windows \ explorer.exe | Lista de formato
Abrir PowerShell y escriba el comando de arriba para probarlo. Calcula el valor hash SHA256 para el archivo dado y produce la salida de la siguiente manera.
Para calcular el valor hash que no sea SHA256, use el modificador -Algorithm. Por ejemplo, para obtener el valor hash MD5, ejecute el siguiente comando:
Get-FileHash c: \ windows \ explorer.exe -Algorithm MD5 | Lista de formato
La salida será la siguiente:
La lista de valores posibles para el -Algoritmo es la siguiente:
- SHA1
- SHA256
- SHA384
- SHA512
- MACTripleDES
- MD5
- RIPEMD160
Otro conmutador útil que debe conocer es -LiteralPath. Especifica la ruta a un archivo. A diferencia del parámetro de ruta predeterminado, el valor del parámetro LiteralPath se usa exactamente como se escribe. Ningún carácter se interpreta como caracteres comodín. Si la ruta incluye caracteres de escape, escriba la ruta entre comillas simples. Las comillas simples indican a Windows PowerShell que no interprete los caracteres como secuencias de escape.
Con el cmdlet Get-FileHash, puede obtener valores hash para un archivo de forma nativa. Es muy útil, especialmente cuando trabaja en un entorno seguro donde no se permite software de terceros. La consola de PowerShell se incluye con Windows 10 y se puede acceder a ella en todas las instancias instaladas, por lo que puede usar el cmdlet Get-FileHash nativo en todas partes.