2011-02-14 18:38:56 +0000 2011-02-14 18:38:56 +0000

Respuestas [26]

1237
2015-04-06 15:21:26 +0000

(https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certutil) es una utilidad pre-instalada de Windows que puede ser usada para generar sumas de control de hachís:

certUtil -hashfile pathToFileToCheck [HashAlgorithm]

HashAlgorithm choices: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

Por ejemplo, lo siguiente genera una suma de comprobación MD5 para el archivo C:\TEMP\MyDataFile.img:

CertUtil -hashfile C:\TEMP\MyDataFile.img MD5

Para obtener una salida similar a los sistemas *Nix se puede añadir algo de magia de PowerShell:

$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""
1237
201
2011-02-14 18:42:47 +0000

Hay una utilidad incorporada, como se especifica en esta otra respuesta .

Sin embargo, puede que quieras usar esta aplicación gratuita llamada HashTab que se integra perfectamente con el Explorador de Windows registrando una... bueno, una pestaña en el diálogo de propiedades de los archivos. Es bastante dulce.

HashTab screenshot

201
183
2009-12-30 05:15:56 +0000

Estoy usando HashCheck última versión ) que se integra como una página de propiedades para los archivos e incluye un menú de contexto para comparar con los archivos de comprobación de hash (SFV).

Es gratis, y la fuente está disponible.

Screenshot

183
79
2015-05-22 20:58:13 +0000

La versión 4 y superior de PowerShell incluye el cmdlet Get-FileHash .

powershell get-filehash -algorithm md5 

Usar doskey para hacer un alias persistente que sea más fácil de recordar.

doskey sha1sum=powershell get-filehash -algorithm sha1 "$1"
doskey md5sum=powershell get-filehash -algorithm md5 "$1"
79
40
2016-01-11 21:31:41 +0000

La nueva versión de 7-Zip también le da la opción de sumas de verificación con sólo pulsar el botón derecho (esto no incluye a MD5 ). Tiene SHA-1 , SHA-256 , CRC-32, CRC-64, etc.

Enter image description here.

Para MD5 puedes descargar HashTab y comprobar haciendo click derecho y luego propiedades.

Enter image description here

40
24
2009-12-30 00:55:29 +0000

Aquí hay uno que he usado antes que se integra muy bien con el diálogo de "Propiedades" del Explorador: Propiedades de verano. Es fuente abierta, y una versión x64 también está disponible.

SummerProperties screen shot

También me gusta el FileAlyzer de Safer Networking, que también proporciona características adicionales. Pero sólo para las sumas de verificación, Propiedades del Verano es ligero y hace el trabajo.

24
14
2011-02-14 19:45:15 +0000

Encontré este guión de PowerShell:

param([switch]$csv, [switch]$recurse)

[Reflection.Assembly]::LoadWithPartialName("System.Security") | out-null
$sha1 = new-Object System.Security.Cryptography.SHA1Managed
$pathLength = (get-location).Path.Length + 1

$args | %{
    if ($recurse) {
        $files = get-childitem -recurse -include $_
    }
    else {
        $files = get-childitem -include $_
    }

    if ($files.Count -gt 0) {
        $files | %{
            $filename = $_.FullName
            $filenameDisplay = $filename.Substring($pathLength)

            if ($csv) {
                write-host -NoNewLine ($filenameDisplay + ",")
            } else {
                write-host $filenameDisplay
            }

            $file = [System.IO.File]::Open($filename, "open", "read")
            $sha1.ComputeHash($file) | %{
                write-host -NoNewLine $_.ToString("x2")
            }
            $file.Dispose()

            write-host
            if ($csv -eq $false) {
                write-host
            }
        }
    }
}

Fuente: Calculando SHA1 en PowerShell

Aprovecha el .NET que asumo que tiene instalado

14
11
2016-10-19 01:33:24 +0000

Estoy añadiendo esto aquí sólo porque no vi ningún ejemplo de PowerShell que funcionara completamente, listo para copiar y pegar:

C:\> powershell "Get-FileHash %systemroot%\system32\csrss.exe"

Algorithm Hash
--------- ----
SHA256 CB41E9D0E8107AA9337DBD1C56F22461131AD0952A2472B4477E2649D16E...

C:\> powershell -c "(Get-FileHash -a MD5 '%systemroot%\system32\csrss.exe').Hash"

B2D3F07F5E8A13AF988A8B3C0A800880

C:\> CertUtil -hashfile "%systemroot%\system32\csrss.exe" MD5 | findstr -v file
b2 d3 f0 7f 5e 8a 13 af 98 8a 8b 3c 0a 80 08 80

C:\>

2019 Actualización:

La salida de certutil parece haber cambiado desde Windows 8, por lo que mi antiguo filtro para aislar el hash ya no funciona. Los espacios extraños también han desaparecido, una cosa menos de la que preocuparse cuando se hace un script. Aquí está la nueva demostración de copiar y pegar:

C:\>CertUtil -hashfile "%systemroot%\system32\csrss.exe" | findstr -v ash
0300c7833bfba831b67f9291097655cb162263fd

C:\>CertUtil -hashfile "%systemroot%\system32\csrss.exe" SHA256 | findstr -v :
a37d616f86ae31c189a05b695571732073b9df97bf5a5c7a8ba73977ead3e65b

C:\>ver

Microsoft Windows [Version 10.0.16299.1451]

C:\>

Para que esto sea más resistente a la rotura por otro cambio futuro en certutil, deberíamos buscar líneas con caracteres no hexadecimales para filtrar: [^0-9a-zA-Z]. Eso también debería hacerlo más seguro para otras localidades e idiomas.

C:\>CertUtil -hashfile "C:\windows\fonts\arial.ttf" | findstr -vrc:"[^0123-9aAb-Cd-EfF]"
12c542ef8c99cf3895ad069d31843a5210857fdc

¿Por qué es tan raro ese regex antihex real? Vea esta pregunta para aprender cómo los rangos de regex en findstr no funcionan como deberían. Incluí un espacio extra para la compatibilidad con versiones anteriores de certutil, pero es opcional.

Ten en cuenta que el valor por defecto de Get-FileHash es SHA256, mientras que certutil sigue siendo SHA1. Así que especifica tu algoritmo explícitamente donde sea necesario. Puedes comprobar rápidamente las opciones disponibles así:

C:\>powershell -c "Get-FileHash -?" | findstr gori

    Get-FileHash [-Path]  [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]
    Get-FileHash -LiteralPath  [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 |
    Get-FileHash -InputStream  [-Algorithm {SHA1 | SHA256 | SHA384 | SHA512 | MACTripleDES | MD5 | RIPEMD160}]

C:\>certutil -hashfile -v /? | findstr gori

  CertUtil [Options] -hashfile InFile [HashAlgorithm]
Hash algorithms: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
11
7
2016-05-24 09:59:53 +0000

Un archivo por lotes basado en el comentario de Pbarney a la respuesta con más votos: Esto copia el hash MD5 de cualquier archivo que se arrastre al archivo por lotes al portapapeles:

@ECHO OFF
FOR /f "tokens=*" %%i IN ('@certutil -hashfile %1 MD5 ^| find /v "hash of file" ^| find /v "CertUtil"') DO SET r=%%i
SET r=%r: =%
ECHO %r% | clip

Para que sea un elemento del menú contextual en su lugar:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Get MD5]
@="Copy MD5 to Clipboard"

[HKEY_CLASSES_ROOT\*\shell\Get MD5\command]
@="\"C:\\getMD5.bat\" \"%1\""
7
4
2017-09-02 13:47:32 +0000

Esto es sólo un script de shell cmd que usa respuesta de Tedr2 pero quita las líneas y espacios de salida extraños:

:: hash.cmd : Get a hash of a file
:: p1: file to be hashed
:: p2: Hash algorithm in UPPERCASE
:: p3: Output file

@setlocal
@for /f "tokens=*" %%a in (
'@certutil -hashfile %1 %2 ^|find /v "hash of file" ^|find /v "CertUtil"'
) do @(
  @set str=%%a
)
@set str=%str: =%
@echo %str%
@endlocal

La salida puede ser redirigida a un archivo si es necesario:

@echo %str% > %3

e.g.

sys> \dev\cmd\hash.cmd MyApp.dll SHA1
8ae6ac1e90ccee52cee5c8bf5c2445d6a92c0d4f
4
4
2009-12-30 04:08:39 +0000

El MD5 Menú Contextual hace exactamente esto. Añade una opción * MD5 ** al menú contextual de los archivos:

Enter image description here

Alt text

MD5 Context Menu es una extensión de shell gratuita para Windows que muestra la suma hash MD5 del archivo seleccionado.

Dice que es compatible con Windows 95, 98, ME, NT, 2000, y XP, aunque me funciona perfectamente en Windows 7. Es una pequeña descarga (238 KB) e incluye todo lo que necesitas.

4
2
2017-01-04 12:10:05 +0000

1. suma de verificación

Uso suma de verificación utilidad de línea de comandos.

Uso:

suma de comprobación [-t=sha1|sha256|sha512|md5] [-c=firma] [-f=]ruta de archivo


2. Argumentos de línea de comandos

  • -?, --help, -h Imprime las opciones.
  • -f, --file=VALUE Nombre de archivo.
  • -t, --type, --hashtype=VALUE Hashtype Predeterminado a md5.
  • -c, --check=VALUE Opcional: comprobar - la firma que quiere comprobar. No distingue entre mayúsculas y minúsculas.

3. Ejemplos de uso

# Check md5 for "E:\Саша Неотразима\Sasha-Irresistible.exe" file
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe"
342B45537C9F472B93A4A0C5997A6F52
# Check sha256
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256
F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
# Correct 41474147414741474147 sha256 hash or not?
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c 41474147414741474147
Error - hashes do not match. Actual value was 'F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4'
# One more attempt
SashaChernykh@DESKTOP-0G54NVG E:\Саша Неотразима
$ checksum -f "E:\Саша Неотразима\Sasha-Irresistible.exe" -t=sha256 -c F6286F50925C6CBF6CBDC7B9582BFF833D0808C04283DE98062404A359E2ECC4
Hashes match..
2
1
2009-12-30 00:57:03 +0000

Algo así: winmd5sum. Este también es bonito: sendtoMD5 - click derecho, enviar a ..., y te da el resultado.

1
1
2012-11-18 00:11:17 +0000

Puedes usar MD5sums para Windows , una descarga de sólo 28 KB Cygwin puede ser exagerada si todo lo que quieres es computar los hashes MD5).

La forma más fácil de usarlo es usar el Explorador para arrastrar y soltar archivos en md5sums.exe para obtener sus hashes MD5.

1
1
2015-08-31 21:35:34 +0000

La respuesta correcta es por supuesto, sí, CertUtil (ver respuesta de tedr2 ).

Pero agregaré el Verificador de sumas de verificación de archivos de Penteract que, creo, es uno de los programas más fáciles de usar. (Descargo de responsabilidad: Estoy afiliado a Penteract.)

Algunas de sus ventajas:

  • Compara los hashes calculados y esperados para usted.
  • Minimalista - no hay ningún elemento en los menús contextuales de los archivos, no hay ninguna pestaña extra en las propiedades de los archivos.

Para verificar la integridad de este programa (contra ataques de hombre en el medio ) - se descarga a través de una conexión segura.

Penteract File Checksum Verifier

Plus: gratuito, sin conexión (por lo que no tienes que subir tus archivos), fácil de usar (arrastra un archivo y obtén el resultado), se lanza desde el menú de inicio (no necesitas buscar el ejecutable descargado cuando quieras usarlo dentro de un año), y soporta MD5, SHA1, SHA256, etc.

1
1
2009-12-30 06:12:33 +0000

HashTab 3.0 es una extensión gratuita del shell que calcula muchas sumas de control, incluyendo MD5. Está integrada como una nueva pestaña en las Propiedades de los Archivos.

1
1
2018-07-07 09:29:40 +0000

Puedes probar con msys2, es aquí .

Sólo escribe (algoritmo)suma. (algoritmo) es el algoritmo hash que quieres usar, por ejemplo md5, sha1, sha256 ...

A diferencia de Cygwin, esta herramienta es portátil, sólo tienes que descargar el archivo .zip y extraerlo en cualquier lugar que desees. Puedes usarlo con un simple click(msys2.exe).

Salta esta herramienta te ayudará.

1
-1
2014-09-08 18:50:39 +0000

Bueno, he hecho un programa para calcular algunos hashes de un archivo. Espero que te ayude.

¿Qué hace esto? Calcula el hash de SHA-1 , el hash de SHA-384, el hash de MD5 y el hash de SHA-256 . Bueno, eso es todo :)

-1
-1
2011-02-16 08:27:33 +0000

Hay como 100 herramientas de terceros ahí fuera. Yo uso MD5Hash. Para descargas con archivos sfv, sólo usa TeraCopy para verificar los hashes.

-1
-2
2014-08-22 19:44:02 +0000

Para una solución que funcione en Windows o en cualquier otro entorno, use Python.

  1. instale Python -- un instalador de Windows se proporciona en https://www.python.org/downloads/

  2. descargue una implementación cksum probada, por ejemplo. http://pastebin.com/raw.php?i=cKATyGLb -- guarda el contenido de esto para decir, c:\cksum.py o donde te parezca conveniente

Entonces para realizar una suma de comprobación:

python c:\cksum.py INPUTFILE

No tan rápido como una utilidad compilada, pero compatible con Unix cksum y funciona en cualquier lugar.

-2
-3
2014-06-16 22:08:04 +0000

Me gusta digestIT , aunque parece ser bastante viejo y tal vez no mantenido.

-3