Esiste un'utilità di checksum / hash integrata su Windows 7?
Esiste un'utilità di checksum / hash integrata su Windows 7?
Risposte:
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.
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 " ",""
certutil
è 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 .
CertUtil -hashfile C:\TEMP\MyDataFile.img MD5
non produce lo stesso hash di md5sum /tmp/MyDataFile.img
Linux (guido che è lo stesso file con un mount)
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.
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.
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"
powershell Get-FileHash -Algorithm md5 <file_to_check> | Format-List
Get-FileHash "C:\foo.exe" -Algorithm MD5,SHA1,SHA256 | Format-List
nativamente 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.
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.
Per MD5 è possibile scaricare HashTab e controllare facendo clic con il tasto destro e quindi su Proprietà.
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 .
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.
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.
HashMyFiles è freeware e portatile.
…that integrates into Windows [Explorer]
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
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:\>
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
'fciv' is not recognized as an internal or external command, operable program or batch file.
Microsoft Windows [Versione 10.0.14393]
Sfortunatamente, non ne sono a conoscenza, ma la suite Sysinternals di Microsoft include un simpatico strumento chiamato sigcheck .
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\""
certutil -hashfile %1 md5
funziona così
Il menu contestuale MD5 fa esattamente questo. Aggiunge un'opzione MD5 al menu di scelta rapida dei file:
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.
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
Cygwin contiene md5sum.exe
un'utilità che dovrebbe fare quello che vuoi.
QuickHash supporta SHA-256 e SHA-512. Avevo bisogno del supporto SHA-256 per verificare il checksum delle librerie JavaScript autorizzate per l'inclusione in un componente aggiuntivo di Firefox.
Uso l' utilità della riga di comando di checksum .
md5
, sha1
, sha256
e sha512
.Uso:
checksum [-t = sha1 | sha256 | sha512 | md5] [-c = firma] [-f =] percorso file
-?
, --help
, -h
-f
, --file=VALUE
-t
, --type
, --hashtype=VALUE
md5
. -c
, --check=VALUE
# 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..
HashTab 3.0 è un'estensione shell gratuita che calcola molti checksum, incluso MD5. È integrato come una nuova scheda nelle proprietà del file.
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.
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:
Per verificare l'integrità di questo programma (contro attacchi man-in-the-middle ) - viene scaricato su una connessione sicura.
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.
Questa non è un'utilità integrata, ma è un'ottima opzione
http://checksumcompare.sanktuaire.com
È possibile confrontare il checksum per file e / o riepiloghi se due cartelle differiscono o sono identiche.
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à.
Bene, ho creato un programma per calcolare alcuni hash da un file. Spero che ti aiuti.
Cosa fa questo? Calcola l' hash SHA-1 , l'hash SHA-384, l' hash MD5 e l'hash SHA-256 . Bene, questo è tutto :)
Per una soluzione che funziona su Windows o praticamente su qualsiasi altro ambiente, usa Python.
installa Python - un programma di installazione di Windows è disponibile su https://www.python.org/downloads/
scarica cksum
un'implementazione testata , ad esempio http://pastebin.com/raw.php?i=cKATyGLb - salva il contenuto di questo per dirlo, c:\cksum.py
o ovunque ti trovi conveniente
Quindi per eseguire un checksum:
python c:\cksum.py INPUTFILE
Non veloce come un'utilità compilata, ma compatibile con Unix cksum
e funziona ovunque.