Esiste un metodo integrato per il calcolo di un hash SHA-1 o MD5 in Windows 7? [duplicare]


38

Esiste un metodo integrato per il calcolo di un hash SHA-1 o MD5 in Windows 7?



Appoggerei l'incorporazione di sha1 nel titolo dell'altra domanda e la chiusura di questa
Brian Webster,

Questa domanda non è un duplicato di superuser.com/questions/89191/… . Questa domanda richiede solo l'integrazione della shell, nessuna riga di comando.
Wisbucky

Questa soluzione non è esattamente integrata in Windows 7, ma se hai già installato Git Bash (msys / mingw), include la riga di comando md5sum
wisbucky

3
powershell get-filehash -algorithm sha1 <file_to_check>
Christian Long,

Risposte:


32

Non esiste un'utilità integrata, tuttavia Microsoft fornisce un'utilità della riga di comando come download gratuito:

Disponibilità e descrizione dell'utilità File Checksum Integrity Verifier


6
Questo non è più vero. PowerShell 4 aggiunge il Get-FileHashcomando . (A proposito di tempo, non è vero?) Anche se, per essere onesti, PowerShell 4 è installato solo nei nuovissimi sistemi operativi Windows in questo momento, ma l'aggiornamento è estremamente ragionevole su sistemi operativi più vecchi. (Anche PS4 ha
molte

Un avvertimento importante: fcivfallisce per i nomi di file contenenti caratteri unicode.
Wisbucky,

18

Nessuno strumento integrato.

Uso l' estensione shell HashCheck :

testo alternativo


Questo è il mio preferito perché è un'estensione del kernel (non so se usano ancora quella terminologia). Lo uso da anni.
David Cowden,

Un modo per ottenere hash SHA-256 con questo?
Max

@DavidCowden: quali sono i vantaggi dell'implementazione di tale funzionalità come estensione del kernel rispetto a un'applicazione che funziona esclusivamente sullo spazio utente. Non è potenzialmente instabile il sistema operativo?
Isacco,

@Isaac Mi manca parlare. Nei vecchi termini di Windows è un'estensione della shell , non un'estensione del kernel. Il vantaggio è che aggiunge l'interfaccia utente direttamente in Windows Explorer in modo da poter, come mostra l'immagine, visualizzare i checksum e gli hash nella finestra delle proprietà del file. È abbastanza pulito!
David Cowden,

11

Non è esattamente integrato, ma almeno non è necessario scaricare alcun nuovo software per farlo funzionare. È possibile creare uno script PowerShell per calcolare la somma MD5 di file. Lo script reale può essere trovato qui:

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

Copia quel testo in un file chiamato qualcosa come "ps-md5sum.ps1" e salvalo da qualche parte. Quando è necessario calcolare l'hash di un file, aprire PowerShell nella directory del file che è necessario controllare, quindi eseguirlo:

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

E dovrebbe restituire l'hash di quel file.


Questo script PS1 di Joe Pruitt emula il comportamento md5 di UNIX: devcentral.f5.com/weblogs/Joe/archive/2009/05/18/…
Brian Reiter,




4

Oltre a tutte le fantastiche opzioni già pubblicate, c'è anche md5deep / hashdeep , una suite di calcolo dell'hash open source per Windows (ma può essere utilizzata anche nei sistemi * nix e OS X) che supporta:

  • MD5
  • SHA-1
  • SHA-256
  • Tigre
  • mulinello

Alcuni vantaggi di md5deep / hashdeep:

  • È open source e multipiattaforma.
  • Viene eseguito dalla riga di comando e può essere utilizzato per gli script.
  • Ha binari ottimizzati per sistemi a 32 e 64 bit.
  • Supporta i moderni algoritmi di hashing (MD5 e SHA-1 sono entrambi interrotti a questo punto per verificare l'integrità dei file e le firme digitali poiché le collisioni possono già essere prodotte per MD5 con relativa facilità e le collisioni SHA-1 sono sempre più nell'ambito delle possibilità ).
  • Può generare ricorsivamente checksum per un'intera directory.
  • Può testare un file o una directory rispetto a un elenco di checksum precedentemente generato per eseguire un controllo rapido della directory (identificando file sconosciuti o file che sono stati modificati).

Per usarlo in Windows, puoi installarlo in Cygwin oppure puoi semplicemente includere la directory md5deep nella tua %PATH%variabile. Personalmente preferisco personalmente la seguente configurazione:

  1. Estrai tutti i file da qualche parte, ad es

    %ProgramFiles%\md5deep

  2. Creare un set di file batch nella directory di Windows, ad es

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

  3. Includere il percorso dei file binari appropriati, ad es

    In md5.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\md5deep64.exe" %*(sistemi a 64 bit)
    "%ProgramFiles%\md5deep\md5deep.exe" %*( sistemi a 32 bit)

    In hash.bat :
    @ECHO OFF
    "%ProgramW6432%\md5deep\hashdeep64.exe" %*(sistemi a 64 bit)
    "%ProgramFiles%\md5deep\hashdeep.exe" %*( sistemi a 32 bit)
    ...

Oppure, se si desidera passare automaticamente tra i binari a 32 e 64 bit per WoW64, è possibile inserire i binari a 32 bit %ProgramFiles(x86)%e quelli a 64 bit %ProgramW6432%, quindi scrivere i file batch in questo modo:

@ECHO OFF
SET cmd=hashdeep
IF "%ProgramFiles%" EQU "%ProgramW6432%" SET cmd=%cmd%64
"%ProgramFiles%\md5deep\%cmd%.exe" %*
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.