¿Existe un método incorporado para calcular un hash SHA-1 o MD5 en Windows 7? [duplicar]

38

Esta pregunta ya tiene una respuesta aquí:

¿Existe un método incorporado para calcular un hash SHA-1 o MD5 en Windows 7?

Brian Webster
fuente
Apoyaría incorporar sha1 en el título de la otra pregunta y cerrar esta
Brian Webster,
Esta pregunta no es un duplicado de superuser.com/questions/89191/… . Esa pregunta es solo para la integración de shell, sin línea de comando.
wisbucky
Esta solución no está incorporada exactamente en Windows 7, pero si ya tiene instalado Git Bash (msys / mingw), incluye la línea de comando md5sum
wisbucky
3
powershell get-filehash -algorithm sha1 <file_to_check>
Christian Long

Respuestas:

32

No hay una utilidad incorporada, sin embargo, Microsoft proporciona una utilidad de línea de comandos como descarga gratuita:

Disponibilidad y descripción de la utilidad Verificador de integridad de suma de comprobación de archivos

John Sampson
fuente
66
Esto ya no es del todo cierto. PowerShell 4 agrega el Get-FileHashcomando . (Ya es hora, ¿no?) Aunque, para ser justos, PowerShell 4 solo está instalado en los sistemas operativos Windows más nuevos en este momento, pero la actualización es extremadamente razonable en sistemas operativos más antiguos. (PS4 tiene
MUCHAS
Una advertencia importante: fcivfalla para los nombres de archivo que contienen caracteres Unicode.
wisbucky
18

Sin herramientas incorporadas.

Yo uso la extensión de shell HashCheck :

texto alternativo

akira
fuente
Este es mi favorito porque es una extensión de kernel (no sé si todavía usan esa terminología). Lo he estado usando por años.
David Cowden
¿Alguna forma de obtener hash SHA-256 con esto?
Max
@DavidCowden: ¿Cuáles son los beneficios de implementar tal característica como una extensión del kernel en comparación con una aplicación que funciona únicamente en el espacio de usuario? ¿No es eso potencialmente inestable el sistema operativo?
Isaac
@ Isaac extraño hablo. En términos antiguos de Windows, es una extensión de shell , no una extensión de kernel. El beneficio es que agrega la interfaz de usuario directamente en el explorador de Windows para que pueda, como muestra la imagen, ver las sumas de verificación y los hashes directamente en la ventana de propiedades del archivo. ¡Es muy lindo!
David Cowden
11

No está exactamente integrado, pero al menos no tiene que descargar ningún software nuevo para que funcione. Puede crear un script de PowerShell para calcular la suma de archivos MD5. El script real se puede encontrar aquí:

http://www.ahmadsoft.org/powershelljunkie/index.html

Copie ese texto en un archivo llamado "ps-md5sum.ps1" y guárdelo en alguna parte. Cuando necesite calcular el hash de un archivo, abra PowerShell en el directorio del archivo que necesita verificar y luego ejecútelo:

[PS] C:\> ps-md5sum.ps1 file-of-choice.exe

Y debería devolver el hash de ese archivo.

SysAdmin1138
fuente
Este script de PS1 de Joe Pruitt emula el comportamiento de UNIX md5: devcentral.f5.com/weblogs/Joe/archive/2009/05/18/…
Brian Reiter
6

No hay nada incorporado. ¿Puedo sugerir usar HashTab ?

Matt Hanson
fuente
6

De nuevo, no hay nada incorporado, así que uso HashCalc .

Captura de pantalla de HashCalc

steve.lippert
fuente
4

Además de todas las excelentes opciones ya publicadas, también hay md5deep / hashdeep , un paquete de cálculo de hash de código abierto para Windows (pero también se puede usar en sistemas * nix y OS X) que admite:

  • MD5
  • SHA-1
  • SHA-256
  • Tigre
  • Torbellino

Algunas ventajas de md5deep / hashdeep:

  • Es de código abierto y multiplataforma.
  • Se ejecuta desde la línea de comandos y se puede usar para secuencias de comandos.
  • Tiene binarios optimizados para sistemas de 32 bits y de 64 bits.
  • Admite algoritmos de hashing modernos (MD5 y SHA-1 están rotos en este punto para verificar la integridad del archivo y las firmas digitales, ya que las colisiones ya se pueden producir para MD5 con relativa facilidad y las colisiones SHA-1 están cada vez más dentro del ámbito de la posibilidad ).
  • Puede generar recursivamente sumas de comprobación para un directorio completo.
  • Puede probar un archivo o directorio contra una lista de sumas de verificación generadas previamente para realizar una auditoría rápida del directorio (identificando archivos desconocidos o archivos que han sido alterados).

Para usarlo en Windows, puede instalarlo en Cygwin o simplemente puede incluir el directorio md5deep en su %PATH%variable. Aunque personalmente prefiero la siguiente configuración:

  1. Extraiga todos los archivos en algún lugar, p. Ej.

    %ProgramFiles%\md5deep

  2. Cree un conjunto de archivos por lotes en su directorio de Windows, p. Ej.

    %WinDir%\md5.bat
    %WinDir%\hash.bat
    %WinDir%\sha1.bat
    %WinDir%\sha256.bat
    %WinDir%\tiger.bat
    %WinDir%\whirlpool.bat

  3. Incluya la ruta a los binarios apropiados, p. Ej.

    En md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %*(sistemas de 64 bits)
    "%ProgramFiles%\md5deep\md5deep.exe" %*( sistemas de 32 bits)

    En hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %*(sistemas de 64 bits)
    "%ProgramFiles%\md5deep\hashdeep.exe" %*( sistemas de 32 bits)
    ...

O si desea cambiar automáticamente entre los binarios de 32 y 64 bits para WoW64, puede colocar los binarios de 32 bits %ProgramFiles(x86)%y los de 64 bits %ProgramW6432%, y luego escribir sus archivos por lotes de esta manera:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
Lèse majesté
fuente