¿Existe una utilidad de suma de comprobación incorporada en Windows 7?


676

¿Existe una utilidad de suma de comprobación / hash incorporada en Windows 7?


No es mi área, pero Powershell, la construcción en lenguaje de script, probablemente pueda hacerlo.
Phoshi

18
¿Es este uno de esos requisitos tontos de "No tengo permitido instalar ningún software de terceros"? Si es así, intente buscar en Google "PowerShell SHA1 hash" y debería obtener algunos scripts / cmdlets que se ejecutarán en el PowerShell incorporado utilizando las API de cifrado de MS.
Afrazier

8
Hay GetFile-Hash. Necesita PS 4.0 o extensiones de comunidad stackoverflow.com/questions/10521061/…
rofrol

2
Avast antivirus está bloqueando las descargas del sitio anterior para mí, por lo que vale la pena acercarse con precaución.
Jules

10
Tenga en cuenta que la mejor respuesta (para mí) es la segunda respuesta, que tiene muchos más votos que la respuesta elegida por el autor de la pregunta. Para el lector: busque a continuación la opción "certutil.exe".
macetw

Respuestas:


194

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

Sin embargo, es posible que desee utilizar esta aplicación gratuita llamada HashTab que se integra perfectamente con el Explorador de Windows registrando un ... bueno, una pestaña en el cuadro de diálogo de propiedades de los archivos. Es muy dulce

Captura de pantalla de HashTab


90
Prefiero HashCheck sobre HashTab, principalmente porque puede manejar múltiples selecciones mixtas de archivos / carpetas y puede crear / verificar archivos SFV / MD5 / SHA1. Mi artículo escrito en los foros de Ars entra en más detalles.
Afrazier

45
¡Tenga en cuenta que HashTab solo es gratuito para uso privado! HashCheck es de código abierto y completamente gratis (licencia BSD)
keiki

36
sí, hay un cmd: CertUtil -hashfile _main.exe MD5
Scott 混合 理论

14
"Hay una utilidad incorporada que hace exactamente lo que necesita. Sin embargo, puede usar esta otra herramienta que hace algo que no solicitó". ¿Por qué es esta la respuesta aceptada?
abaumg

8
> "Gracias. Lamentablemente, estar integrado fue un requisito esencial para mí". Entonces, ¿por qué seleccionó un software no incorporado, que la pregunta no pide como respuesta?
KalEl

1187

CertUtil es una utilidad de Windows preinstalada que se puede utilizar para generar sumas de comprobación hash:

certUtil -hashfile pathToFileToCheck [HashAlgorithm]

Opciones de algoritmo hash: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

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

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

Para obtener resultados similares a los sistemas * Nix, puede agregar algo de magia de PowerShell:

$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""

103
La pregunta especificaba incorporado, y aparte de un script de PowerShell, este es el único que está integrado en Windows 7. Hay algunos entornos en los que no puede simplemente instalar el software. Mi voto único no parece suficiente para esta respuesta.
jbo5112

18
MD5.bat: @certutil -hashfile% 1 MD5 | find / v "hash of file" | find / v "CertUtil"
pbarney

66
Tenga en cuenta que nocertutil está disponible en Windows PE , por lo que si está tratando de calcular una suma de verificación en un script de tarea previa a la implementación en PE, tendrá que usar una herramienta externa como Microsoft FCIV .
Wayfarer

3
Eso es increíble, pero CertUtil -hashfile C:\TEMP\MyDataFile.img MD5no produce el mismo hash que md5sum /tmp/MyDataFile.imgbajo Linux (garantizo que es el mismo archivo con una montura)
lalebarde

14
@lalebarde Solo hay un estándar para MD5. Si obtiene resultados diferentes en el mismo archivo, es porque algo está haciendo algún cambio en ese archivo y está causando que los hash sean diferentes. Esta es una de las funciones más importantes de MD5 y otros estándares de hashing.
Paul

178

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

Es gratis y la fuente está disponible.

Captura de pantalla


3
Aplicación hilarante. Definitivamente el mejor. Puede verificar el hash con un doble clic en el archivo creado. ¡MD5! Y recuerda qué archivos fueron hash.
Pavel Radzivilovsky

66
AVG señala que se ha cambiado la utilidad principal de Windows; ese es el tipo de cosas que a menudo hace el software malicioso.
dunxd el

11
Libre, de código abierto, se integra con la página de propiedades y el menú contextual del explorador, tiene un verificador .MD5 y es compatible con SHA-1. Sin mencionar que solo tiene 85kb y funciona muy rápido. Esta aplicación es absurdamente genial , ¡gracias!
Şafak Gür

44
y puedes instalarlo con chocolate!
Michael Caron

44
@Sossenbinder Debes haber estado buscando en el lugar equivocado. SHA-256 ha sido compatible desde diciembre '14. La herramienta se estaba actualizando hasta al menos septiembre '16, por lo que si bien es posible que no esté activa últimamente, tal vez no haya mucho que agregar. github.com/gurnec/HashCheck/releases
B Layer

84

Existe la utilidad FCIV de Microsoft, el Comprobador de integridad de suma de comprobación de archivos de Microsoft ( enlace de descarga ).

La herramienta Microsoft File Checksum Integrity Verifier es una utilidad de línea de comandos no compatible que calcula hash criptográficos MD5 o SHA1 para archivos.

No muestra Windows 7 en los requisitos del sistema, pero lo acabo de usar en Windows 8 y funcionó.


¿Por qué nos vinculamos a una utilidad de línea de comandos no compatible? Esto ni siquiera se integra en el shell que estoy seguro de que el autor quería.
Ramhound

31
Esa utilidad fue útil para mí. Descargué una imagen iso de msdn y necesitaba revisarla. No quería ninguna herramienta de terceros. No necesitaba la integración de shell y el autor no la solicitó. Es de una fuente confiable de Microsoft y, aunque no es compatible, todavía funciona. Publiqué un enlace aquí porque otras personas como yo pueden encontrarlo útil.
creador el

29
Estoy con @creator. Puede que no sea un software compatible, pero al menos Microsoft es el autor. Los programas de suma de control son potencialmente realmente importantes para mantener la seguridad; Prefiero no obtener el mío de un tercero al azar.
ellisbben

3
Si bien es una utilidad OKish para uso moderado, es inestable. Lo estoy usando en un script xdelta para determinar si los archivos del mismo tamaño son diferentes y lamento decir que recibo aproximadamente 1 bloqueo cada cientos de archivos. No es confiable, así que un consejo: use otra cosa.
JasonXA

PsFCIV es una reescritura de PowerShell que admite la funcionalidad de la base de datos XML original más los hash SHA-256, SHA-384 y SHA-512.
Usuario5910

76

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

powershell get-filehash -algorithm md5 <file_to_check>

Use doskey para crear 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"

1
Al agregar Format-List para mostrar la salida completa si la cadena de resultado de hash es demasiado larga powershell Get-FileHash -Algorithm md5 <file_to_check> | Format-List
celeron533

¡Finalmente llega a PowerShell!
Franklin Yu

Brillantes preguntas y respuestas. Gracias por todo esto. Recomiendo otro software, pero este es bastante completo. No puedo agradecerles lo suficiente a los colaboradores por este hilo. Disculpe ... ¿Puedo preguntar por qué PowerShell en Win 8.1 y 10 no reconocerán de Get-FileHash "C:\foo.exe" -Algorithm MD5,SHA1,SHA256 | Format-Listforma nativa para enumerar varios hash seguidos? ¿No hay tal instrucción almacenada en la consola? Intenté reformular varias veces con la sintaxis correcta, pero me devuelve un error y no parece funcionar sin incrustar un script.
K0media

38

La nueva versión de 7-Zip también le ofrece la opción de sumas de verificación simplemente haciendo clic derecho (esto no incluye MD5 ). Tiene SHA-1 , SHA-256 , CRC-32, CRC-64, etc.

Ingrese la descripción de la imagen aquí.


Para MD5 puede descargar HashTab y verificar haciendo clic derecho y luego en propiedades.

Ingrese la descripción de la imagen aquí


¿De qué versión de 7-zip estás hablando?
klaar

Desafortunadamente, la herramienta de suma de verificación de 7 zip no le permite copiar la suma de verificación.
Derek Mahar

Creo que seleccionar el texto hash y Ctrl + C funciona bien.
abe312

En mi configuración, si va a las propiedades del archivo, puede copiar el hash haciendo clic derecho-> copiar en la pestaña de hashes del archivo.
abe312

23

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

Captura de pantalla de SummerProperties

También me gusta FileAlyzer de Safer Networking , que también ofrece funciones adicionales. Pero solo para sumas de comprobación, Summer Properties es liviano y hace el trabajo.


1
El único problema con esto es que no admite carpetas o grupos de archivos. También está fuera de dvlp
Pavel Radzivilovsky

1
Otro problema es que no puedes pegar un hash y ver si coincide
Jonathan

Sé que esto es muy viejo, pero ¿cómo respondiste la pregunta más de un año antes de que se hiciera?
Baruch

@Baruch Si miras el historial de edición de la pregunta , verás que, en mayo de 2015, otra pregunta similar (pero más antigua) tenía sus respuestas fusionadas en esta. No estoy seguro de por qué la pregunta más nueva fue la elegida para sobrevivir, pero es por eso que parece extraño. Aquí está la pregunta original anterior .
Chris W. Rea

15

HashMyFiles de Nirsoft es una pequeña utilidad que le permite calcular los valores hash MD5 y SHA1 de uno o más archivos en su sistema. Puede copiar fácilmente la lista de hashes MD5 / SHA1 en el portapapeles o guardarlos en un archivo de texto / html / xml.

HashMyFiles también se puede iniciar desde el menú contextual del Explorador de Windows y mostrar los hashes MD5 / SHA1 del archivo o carpeta seleccionados.

texto alternativo

HashMyFiles es gratuito y portátil.


+1, parece una nueva, la última vez que verifiqué (antes de pasar a una versión de línea de comando md5sum ) fue FastSum, pero era una especie de software de prueba y fastidiaba mucho. HashMyFiles es bueno porque permite arrastrar y soltar múltiples archivos y exportar a CSV (ambas características importantes). No creo que lo haya visto cuando encontré FastSum hace un par de años.
nik

es cierto, HashMyFiles es una adición bastante reciente a la cartera de NirSoft, se lanzó por primera vez en 2007.

…that integrates into Windows [Explorer]
Synetech

Y muy pequeño tamaño!
Pedi T.

13

Encontré este script 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: Cálculo de SHA1 en PowerShell

Aprovecha .NET, que supongo que has instalado


77
Win 7 viene con .NET 3.5 y PowerShell v2, y PowerShell siempre ha dependido de .NET, así que si tienes PS, tienes .NET. :-)
afrazier

9

Estoy agregando esto aquí solo porque no vi ningún ejemplo de PowerShell que funcione 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:\>

7

Comprobador de integridad de suma de comprobación de archivos de Microsoft . Puede calcularvalores hash MD5 y SHA-1 .

Descargue, extraiga los archivos, luego abra un símbolo del sistema, vaya a la ruta extraída y luego escriba el siguiente comando:

fciv -md5 filepath\filename.extension

Por ejemplo:

fciv -md5 d:\programs\setup.exe

Esta respuesta y la respuesta del creador @ deben combinarse. Se refieren a la misma herramienta.
leif81

Título de la pregunta: ¿Existe una utilidad de suma de comprobación / hash incorporada en Windows 7? 'fciv' is not recognized as an internal or external command, operable program or batch file.Microsoft Windows [Versión 10.0.14393]
Amit Naidu


6

Un archivo por lotes basado en el comentario de pbarney a la respuesta con más votos positivos: 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 de 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:\\<PATH TO BAT FILE>\\getMD5.bat\" \"%1\""

O si no le importa la salida adicional, un archivo por lotes de una línea certutil -hashfile %1 md5también funciona
jrh

3

El menú contextual MD5 hace exactamente esto. Agrega una opción MD5 al menú contextual de archivos:

Ingrese la descripción de la imagen aquí

texto alternativo

MD5 Context Menu es una extensión de shell de software gratuito 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 descarga pequeña (238 KB) e incluye todo lo que necesita.


3
"Debido a un error grave en la última versión de nuestra herramienta para archivos grandes con tamaños> 2 ^ 31 bytes (~ 2.1GB) actualmente ya no proporcionamos la descarga".
Taha Jahangir

3

Este es solo un script de shell cmd que usa la respuesta de tedr2 pero elimina 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 se puede redirigir a un archivo si es necesario:

@echo %str% > %3

p.ej

sys> \dev\cmd\hash.cmd MyApp.dll SHA1
8ae6ac1e90ccee52cee5c8bf5c2445d6a92c0d4f

2

Cygwin contiene una md5sum.exeutilidad que debe hacer lo que quieras.


2
Lamentablemente, al estar basada en la línea de comandos, no se integra con el Shell de Windows.
Cristian Ciupitu

Cristian Ciupitu solo porque no sabes cómo hacerlo no significa que no se pueda hacer. Estoy usando muchas aplicaciones CLI del fondo de escritorio / carpeta de Windows Shell y del menú contextual de aplicaciones escritas y funcionan bien.
JasonXA

2
Cygwin es excesivamente exagerado. Hay muchos binarios nativos que hacen el trabajo, la mayoría de ellos por debajo de 200k.
sCiphre

No hay nada "excesivamente exagerado" sobre Cygwin. La utilidad de configuración le permite marcar y descargar solo exactamente lo que necesita y nada más. Si todo lo que selecciona es md5sum, eso es todo lo que obtiene.
Nicole Hamilton


1

1. suma de comprobación

Yo uso la utilidad de línea de comandos de suma de comprobación .

Uso:

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


2. Argumentos de línea de comando

  • -?, --help, -h
    Imprime las opciones.
  • -f, --file=VALUE
    Nombre de archivo.
  • -t, --type, --hashtype=VALUE
    Hashtype defecto es md5.
  • -c, --check=VALUE
    Opcional: check - la firma que desea comprobar. No 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..


0

HashTab 3.0 es una extensión de shell gratuita que calcula muchas sumas de verificación, incluido MD5. Está integrado como una nueva pestaña en las Propiedades del archivo.


0

Puede usar MD5sums para Windows , una descarga de solo 28 KB ( Cygwin podría ser excesivo si todo lo que quiere hacer es calcular hash MD5).

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


0

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

Pero agregaré el Comprobador de suma de comprobación de archivos gratuito 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: sin elementos en los menús contextuales de los archivos, sin pestañas adicionales 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

Además: gratis, sin conexión (para que no tenga que cargar sus archivos), fácil de usar (arrastre un archivo y obtenga el resultado), se inicia desde el menú de inicio (no es necesario buscar el ejecutable descargado cuando desee úselo dentro de un año) y es compatible con MD5, SHA1, SHA256, etc.


1
Gracias por revelar su afiliación. Sin embargo, evite hacer demasiadas publicaciones de este tipo, ya que hacerlo puede considerarse spam. Para obtener más información sobre publicaciones promocionales, visite superuser.com/help/promotion .
bwDraco

1
Esto solo funciona en Windows 10 y la operación preguntó específicamente sobre W7.
Jool


0

Puedes probar msys2, está aquí .

Simplemente escriba suma (algoritmo). (algoritmo) es el algoritmo hash que desea usar, por ejemplo, md5, sha1, sha256 ...

A diferencia de Cygwin, esta herramienta es portátil, solo debe descargar el archivo .zip y extraerlo en cualquier lugar que desee. Puede usarlo con un simple clic (msys2.exe).

Espero que esta herramienta te ayude.



-1

Hay como 100 herramientas de terceros por ahí. Yo uso MD5Hash. Para descargas con archivos sfv, simplemente use TeraCopy para verificar los hashes.


-2

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

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

  2. descargue una cksumimplementación probada , por ejemplo, http://pastebin.com/raw.php?i=cKATyGLb - guarde el contenido de esto para decirlo, c:\cksum.pyo donde le resulte conveniente

Luego, para realizar una suma de verificación:

python c:\cksum.py INPUTFILE

No es tan rápido como una utilidad compilada, pero es compatible con Unix cksumy se ejecuta en cualquier lugar.