Esiste un'utilità di checksum integrata su Windows 7?


676

Esiste un'utilità di checksum / hash integrata su Windows 7?


Non è la mia area, ma Powershell, il linguaggio di scripting incorporato, probabilmente può farlo.
Phoshi,

18
È uno di quei requisiti "Non mi è permesso installare alcun software di terze parti"? In tal caso, prova a cercare su Google "Hash PowerShell SHA1" e dovresti ottenere alcuni script / cmdlet che verranno eseguiti su PowerShell integrato utilizzando le API Crypto di MS.
Afrazier

8
C'è GetFile-Hash. È necessario PS 4.0 o estensioni della comunità stackoverflow.com/questions/10521061/...~~V~~singular~~2nd
rofrol

2
Avast anti virus sta bloccando i download dal sito sopra indicato per me, quindi potrebbe valere la pena avvicinarsi con cautela.
Jules il

10
Nota, la migliore risposta (per me) è la seconda risposta, che ha molti più voti rispetto alla risposta scelta dal richiedente. Per il lettore: guarda sotto, per l'opzione "certutil.exe".
Macetw

Risposte:


194

Esiste un'utilità integrata, come specificato in questa altra risposta .

Tuttavia, potresti voler utilizzare questa app freeware chiamata HashTab che si integra perfettamente con Windows Explorer registrando una ... beh, una scheda nella finestra di dialogo delle proprietà dei file. È abbastanza dolce.

Schermata di HashTab


90
Preferisco HashCheck su HashTab, principalmente perché può gestire più selezioni di file / cartelle miste e può creare / verificare file SFV / MD5 / SHA1. Il mio commento agli Ars Forum è più dettagliato.
Afrazier

45
Attenzione, HashTab è gratuito solo per uso privato! HashCheck è open source e completo gratuito (licenza BSD)
keiki

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

14
"Esiste un'utilità integrata che fa esattamente ciò di cui hai bisogno. Tuttavia, puoi utilizzare questo altro strumento che fa qualcosa che non hai richiesto." Perché questa è la risposta accettata?
abaumg,

8
> "Grazie. Sfortunatamente essere incorporato è stato un requisito essenziale per me." Allora perché hai selezionato un software non integrato, che la domanda non pone come risposta?
KalEl,

1187

CertUtil è un'utilità di Windows preinstallata che può essere utilizzata per generare checksum hash:

certUtil -hashfile pathToFileToCheck [HashAlgorithm]

Opzioni di algoritmo hash: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

Quindi, ad esempio, quanto segue genera un checksum MD5 per il file C:\TEMP\MyDataFile.img:

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

Per ottenere un output simile ai sistemi * Nix è possibile aggiungere un po 'di magia di PowerShell:

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

103
La domanda specifica integrata e, a parte uno script PowerShell, questa è l'unica che è integrata in Windows 7. Ci sono alcuni ambienti in cui non è possibile installare solo software. Il mio singolo voto non sembra abbastanza per questa risposta.
jbo5112,

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

6
Nota che noncertutil è disponibile in Windows PE , quindi se stai provando a calcolare un checksum in uno script di attività pre-distribuzione in PE, dovrai utilizzare uno strumento esterno come Microsoft FCIV .
Wayfarer,

3
È incredibile, ma CertUtil -hashfile C:\TEMP\MyDataFile.img MD5non produce lo stesso hash di md5sum /tmp/MyDataFile.imgLinux (guido che è lo stesso file con un mount)
lalebarde

14
@lalebarde Esiste solo uno standard per MD5. Se stai ottenendo risultati diversi sullo stesso file, è perché qualcosa sta apportando alcune modifiche a quel file e causando differenze tra gli hash. Questa è una delle funzioni più importanti di MD5 e di altri standard di hashing.
Paolo,

178

Sto usando HashCheck ( ultima versione ) che si integra come pagina delle proprietà dei file e include un menu di scelta rapida per confrontare i file di controllo hash (SFV).

È gratuito e la fonte è disponibile.

Immagine dello schermo


3
App divertente. Sicuramente il migliore. Può controllare l'hash con un doppio clic sul file creato. MD5! E ricorda quali file sono stati sottoposti a hash.
Pavel Radzivilovsky,

6
AVG sta segnalando che l'utilità di Windows principale è stata modificata: è il tipo di cosa che fa spesso un software dannoso.
Dunxd,

11
Libero, open source, si integra con la pagina delle proprietà e il menu contestuale di Explorer, ha un checker .MD5 e supporta SHA-1. Per non parlare del fatto che è solo 85kb e funziona molto velocemente. Questa applicazione è assurdamente fantastica , grazie!
Şafak Gür,

4
e puoi installarlo via chocolatey!
Michael Caron,

4
@Sossenbinder Devi aver cercato nel posto sbagliato. SHA-256 è supportato dal dicembre '14. Lo strumento è stato aggiornato almeno fino al settembre '16, quindi mentre potrebbe non essere attivo ultimamente, forse non c'è molto da aggiungere ad esso. github.com/gurnec/HashCheck/releases
B Layer

84

Esiste l'utilità FCIV di Microsoft, Microsoft File Checksum Integrity Verifier ( link per il download ).

Lo strumento Microsoft File Checksum Integrity Verifier è un'utilità della riga di comando non supportata che calcola gli hash crittografici MD5 o SHA1 per i file.

Non mostra Windows 7 nei requisiti di sistema, ma l'ho appena usato in Windows 8 e ha funzionato.


Perché stiamo collegando a un'utilità della riga di comando non supportata. Questo non si integra nemmeno nella shell che sono sicuro che l'autore volesse.
Ramhound,

31
Quell'utilità mi è stata utile. Ho scaricato un'immagine iso da msdn e avevo bisogno di cheksum. Non volevo strumenti di terze parti. Non ho avuto bisogno dell'integrazione della shell e l'autore non l'ha richiesta. Proviene da una fonte attendibile Microsoft e, sebbene non supportata, funziona ancora. Ho pubblicato un link qui perché altre persone come me potrebbero trovarlo utile.
creatore

29
Sono con @creator. Potrebbe non essere un software supportato, ma almeno Microsoft è l'autore. I programmi di checksum sono potenzialmente molto importanti per mantenere la sicurezza; Preferirei non ottenere il mio da una terza parte casuale.
Ellisbben,

3
Sebbene sia un'utilità OKish per un uso moderato, è instabile. Lo sto usando in uno script xdelta per determinare se i file della stessa dimensione sono diversi e mi dispiace dire che ricevo circa 1 crash ogni poche centinaia di file. È inaffidabile, quindi un consiglio: usa qualcos'altro.
JasonXA,

PsFCIV è la riscrittura di PowerShell che supporta la funzionalità del database XML originale oltre agli hash SHA-256, SHA-384 e SHA-512.
Utente 5910

76

PowerShell versione 4 e successive include il cmdlet Get-FileHash .

powershell get-filehash -algorithm md5 <file_to_check>

Usa doskey per creare un alias persistente che sia più facile da ricordare.

doskey sha1sum=powershell get-filehash -algorithm sha1 "$1"
doskey md5sum=powershell get-filehash -algorithm md5 "$1"

1
Aggiungendo Format-List per mostrare l'output completo se la stringa del risultato hash è troppo lunga powershell Get-FileHash -Algorithm md5 <file_to_check> | Format-List
celeron533

Finalmente arriva a PowerShell!
Franklin Yu,

Brillante domanda e risposte. Grazie per tutto questo Consiglierei un altro software, ma questo è abbastanza completo. Non posso ringraziarvi abbastanza per questo thread. Mi scusi ... Posso chiedermi perché PowerShell su Win 8.1 e 10 non riconoscerà Get-FileHash "C:\foo.exe" -Algorithm MD5,SHA1,SHA256 | Format-Listnativamente di elencare diversi hash di fila? Non ci sono tali istruzioni memorizzate nella console? Ho provato a riformulare più volte con la sintassi corretta, ma mi restituisce un errore e non sembra funzionare senza incorporare uno script.
K0media,

38

La nuova versione di 7-Zip ti dà anche la possibilità di checksum semplicemente facendo clic con il tasto destro (questo non include MD5 ). Ha SHA-1 , SHA-256 , CRC-32, CRC-64, ecc.

Inserisci qui la descrizione dell'immagine.


Per MD5 è possibile scaricare HashTab e controllare facendo clic con il tasto destro e quindi su Proprietà.

Inserisci qui la descrizione dell'immagine


Di quale versione di 7-zip stai parlando?
klaar,

Sfortunatamente, lo strumento checksum 7-zip non ti consente di copiare il checksum!
Derek Mahar,

Penso che selezionando il testo hash e Ctrl + C funzioni bene.
abe312,

Nella mia configurazione, se vai alle proprietà del file, puoi copiare l'hash con il tasto destro-> copia nella scheda hash del file.
abe312,

23

Eccone uno che ho usato prima che si integra perfettamente con la finestra di dialogo "Proprietà" di Explorer: Proprietà estive . È open source ed è disponibile anche una versione x64 .

Schermata SummerProperties

Mi piace anche FileAlyzer di Safer Networking , che offre anche funzionalità aggiuntive. Ma solo per i checksum, Summer Properties è leggero e fa il suo lavoro.


1
L'unico problema è che non supporta cartelle o gruppi di file. È anche fuori dvlp
Pavel Radzivilovsky il

1
Un altro problema è che non puoi incollare un hash in esso e vedere se corrisponde
Jonathan

So che è davvero vecchio, ma come hai risposto alla domanda più di un anno prima che fosse posta?
Baruch,

@Baruch Se guardi alla cronologia delle modifiche della domanda vedrai che, a maggio 2015, un'altra domanda simile (ma più vecchia) ha avuto le sue risposte unite in questa. Non sono sicuro del perché la nuova domanda sia stata quella scelta per sopravvivere, ma è per questo che sembra strana. Ecco la domanda più vecchia originale .
Chris W. Rea,

15

HashMyFiles di Nirsoft è una piccola utility che consente di calcolare gli hash MD5 e SHA1 di uno o più file nel sistema. Puoi facilmente copiare la lista degli hash MD5 / SHA1 negli appunti, o salvarli nel file text / html / xml.

HashMyFiles può anche essere avviato dal menu di scelta rapida di Esplora risorse e visualizzare gli hash MD5 / SHA1 del file o della cartella selezionati.

testo alternativo

HashMyFiles è freeware e portatile.


+1, sembra uno nuovo - l'ultima volta che ho controllato (prima di passare a una versione md5sum da riga di comando ) è stato FastSum - ma era una specie di trialware e molto fastidioso. HashMyFiles è utile perché consente il trascinamento della selezione di più file e l'esportazione in CSV (entrambe funzionalità importanti). Non pensare di averlo visto quando ho trovato FastSum un paio di anni fa.
nik,

esatto, HashMyFiles è un'aggiunta abbastanza recente al portafoglio di NirSoft, è stato rilasciato per la prima volta nel 2007.

…that integrates into Windows [Explorer]
Synetech,

E dimensioni molto ridotte!
Pedi T.

13

Ho trovato questo script 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
            }
        }
    }
}

Fonte: calcolo di SHA1 in PowerShell

Sfrutta .NET che presumo tu abbia installato


7
Win 7 viene fornito con .NET 3.5 e PowerShell v2 e PowerShell è sempre stato dipendente da .NET, quindi se hai PS, hai .NET. :-)
Afrazier

9

Sto aggiungendo questo qui solo perché non ho visto alcun esempio di PowerShell completamente funzionante, pronto per il copia-incolla:

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

Microsoft File Checksum Integrity Verifier . Può calcolarevalori hash MD5 e SHA-1 .

Scarica, estrai i file, quindi apri un prompt dei comandi, vai al percorso estratto e quindi digita il seguente comando:

fciv -md5 filepath\filename.extension

Per esempio:

fciv -md5 d:\programs\setup.exe

Questa risposta e la risposta di @ creator devono essere combinate. Si riferiscono allo stesso strumento.
leif81,

Titolo della domanda: esiste un'utilità checksum / hash integrata su Windows 7? 'fciv' is not recognized as an internal or external command, operable program or batch file.Microsoft Windows [Versione 10.0.14393]
Amit Naidu


6

Un file batch basato sul commento di Pbarney alla risposta con il maggior numero di voti: Questo copia l'hash MD5 di qualsiasi file trascinato sul file batch negli Appunti:

@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

Per renderlo invece una voce del menu di scelta rapida:

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\""

Oppure, se non ti dispiace l'uscita in più, un file batch uno di linea certutil -hashfile %1 md5funziona così
JRH

3

Il menu contestuale MD5 fa esattamente questo. Aggiunge un'opzione MD5 al menu di scelta rapida dei file:

Inserisci qui la descrizione dell'immagine

Testo alternativo

Il menu contestuale MD5 è un'estensione della shell freeware per Windows che visualizza la somma hash MD5 del file selezionato.

Dice che è compatibile con Windows 95, 98, ME, NT, 2000 e XP, anche se funziona perfettamente su Windows 7. È un download scarso (238 KB) e include tutto ciò di cui hai bisogno.


3
"A causa di un grave bug nell'ultima versione del nostro strumento per file di grandi dimensioni con dimensioni> 2 ^ 31 byte (~ 2.1GB) al momento non forniamo più il download."
Taha Jahangir l'

3

Questo è solo uno script di shell cmd che utilizza la risposta di tedr2 ma elimina le righe e gli spazi di output estranei:

:: 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

L'output può essere reindirizzato a un file se necessario:

@echo %str% > %3

per esempio

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

2

Cygwin contiene md5sum.exeun'utilità che dovrebbe fare quello che vuoi.


2
Sfortunatamente essendo basato sulla riga di comando, non si integra con la shell di Windows.
Cristian Ciupitu,

Cristian Ciupitu solo perché non sai come farlo, non significa che non possa essere fatto. Sto usando molte app CLI dal desktop / cartella Windows Shell e dal menu contestuale delle app digitate e funzionano bene.
JasonXA,

2
Cygwin è enormemente eccessivo. Esistono molti binari nativi che fanno il lavoro, molti dei quali con meno di 200k.
sCiphre,

Non c'è nulla di "eccessivamente massiccio" in Cygwin. L'utility di installazione ti consente di selezionare e scaricare solo esattamente ciò di cui hai bisogno e niente di più. Se tutto ciò che selezioni è md5sum, è tutto ciò che ottieni.
Nicole Hamilton,


1

1. checksum

Uso l' utilità della riga di comando di checksum .

Uso:

checksum [-t = sha1 | sha256 | sha512 | md5] [-c = firma] [-f =] percorso file


2. Argomenti della riga di comando

  • -?, --help, -h
    Di stampare le opzioni.
  • -f, --file=VALUE
    Nome file.
  • -t, --type, --hashtype=VALUE
    HashType Il valore predefinito md5.
  • -c, --check=VALUE
    Opzionale: selezionare: la firma che si desidera verificare. Non sensibile a maiuscole e minuscole.

3. Esempi di utilizzo

# 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

Qualcosa del genere: winmd5sum .
Anche questo è carino: sendtoMD5 : fai clic con il pulsante destro del mouse, invia a ... e otterrai il risultato.


0

HashTab 3.0 è un'estensione shell gratuita che calcola molti checksum, incluso MD5. È integrato come una nuova scheda nelle proprietà del file.


0

Puoi usare MD5sums per Windows , un download di soli 28 KB ( Cygwin potrebbe essere eccessivo se tutto ciò che vuoi fare è calcolare gli hash MD5).

Il modo più semplice per usarlo è usare Explorer per trascinare e rilasciare i file su md5sums.exe per ottenere i loro hash MD5.


0

La risposta corretta è ovviamente sì, CertUtil (vedi la risposta di tedr2 ).

Ma aggiungerò il File Checksum Verifier gratuito di Penteract che, a mio avviso, è uno dei programmi più intuitivi . (Dichiarazione di non responsabilità: sono affiliato a Penteract.)

Alcuni dei suoi vantaggi:

  • Confronta gli hash calcolati e previsti per te.
  • Minimalista: nessun elemento nei menu di scelta rapida dei file, nessuna scheda aggiuntiva sulle proprietà dei file.

Per verificare l'integrità di questo programma (contro attacchi man-in-the-middle ) - viene scaricato su una connessione sicura.

Verifica del checksum del file penteract

Inoltre: gratuito, offline (quindi non devi caricare i tuoi file), facile da usare (trascina un file e ottieni il risultato), si avvia dal menu di avvio (non è necessario cercare l'eseguibile scaricato quando vuoi usalo tra un anno) e supporta MD5, SHA1, SHA256, ecc.


1
Grazie per aver rivelato la tua affiliazione. Tuttavia, si prega di evitare di pubblicare troppi post di questo tipo, poiché ciò potrebbe essere considerato spamming. Per ulteriori informazioni sui post promozionali, consultare superuser.com/help/promotion .
bwDraco,

1
Funziona solo su Windows 10 e l'operazione specifica richiesta su W7.
Jool


0

Puoi provare msys2, è qui .

Basta digitare (algoritmo) somma. (algoritmo) è l'algoritmo di hash che si desidera utilizzare, ad esempio md5, sha1, sha256 ...

A differenza di Cygwin, questo strumento è portatile, basta scaricare il file .zip ed estrarlo dove vuoi. Puoi usarlo con un semplice clic (msys2.exe).

Hop questo strumento ti aiuterà.



-1

Esistono circa 100 strumenti di terze parti. Uso MD5Hash. Per i download con file sfv, basta usare TeraCopy per verificare gli hash.


-2

Per una soluzione che funziona su Windows o praticamente su qualsiasi altro ambiente, usa Python.

  1. installa Python - un programma di installazione di Windows è disponibile su https://www.python.org/downloads/

  2. scarica cksumun'implementazione testata , ad esempio http://pastebin.com/raw.php?i=cKATyGLb - salva il contenuto di questo per dirlo, c:\cksum.pyo ovunque ti trovi conveniente

Quindi per eseguire un checksum:

python c:\cksum.py INPUTFILE

Non veloce come un'utilità compilata, ma compatibile con Unix cksume funziona ovunque.


-3

Mi piace digestIT , anche se sembra essere abbastanza vecchio e forse non mantenuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.