Czy w systemie Windows 7 jest wbudowane narzędzie sumy kontrolnej / skrótu?
Czy w systemie Windows 7 jest wbudowane narzędzie sumy kontrolnej / skrótu?
Odpowiedzi:
Istnieje wbudowane narzędzie, jak określono w ta inna odpowiedź .
Możesz jednak skorzystać z tej bezpłatnej aplikacji o nazwie HashTab który integruje się z Eksploratorem Windows, rejestrując ... cóż, kartę w oknie dialogowym właściwości plików. To całkiem słodkie.
CertUtil to wstępnie zainstalowane narzędzie systemu Windows, które może być używane do generowania sum kontrolnych mieszania:
certUtil -hashfile pathToFileToCheck [HashAlgorithm]
Opcje algorytmu HashAlgorithm: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512
Na przykład poniższe generuje sumę kontrolną MD5 dla pliku C:\TEMP\MyDataFile.img
:
CertUtil -hashfile C:\TEMP\MyDataFile.img MD5
Aby uzyskać dane wyjściowe podobne do * systemów Nix, możesz dodać trochę magii PowerShell:
$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""
certutil
jest niedostępne w Windows PE , więc jeśli próbujesz obliczyć sumę kontrolną w skrypcie zadania przed wdrożeniem w PE, musisz użyć narzędzia zewnętrznego Microsoft FCIV .
CertUtil -hashfile C:\TEMP\MyDataFile.img MD5
nie wytwarza tego samego skrótu md5sum /tmp/MyDataFile.img
pod Linuksem (gwarantuję, że jest to ten sam plik z zamontowaniem)
używam HashCheck ( Ostatnia wersja ), który integruje się jako strona właściwości plików i zawiera menu kontekstowe do porównywania z plikami kontrolnymi mieszania (SFV).
Jest bezpłatny, a źródło jest dostępne.
Istnieje narzędzie FCIV firmy Microsoft, the Microsoft File Checksum Integrity Verifier ( link do pobrania ).
Narzędzie weryfikujące integralność plików Microsoft Checkpoint to nieobsługiwane narzędzie wiersza komend, które oblicza skróty kryptograficzne MD5 lub SHA1 dla plików.
Nie pokazuje Windows 7 w wymaganiach systemowych, ale właśnie użyłem go w Windows 8 i zadziałało.
PowerShell w wersji 4 i nowszych zawiera Get-FileHash cmdlet.
powershell get-filehash -algorithm md5 <file_to_check>
Posługiwać się doskey aby stworzyć trwały alias, który jest łatwiejszy do zapamiętania.
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
natywnie wymienić kilka skrótów z rzędu? W konsoli nie ma takich instrukcji? Próbowałem przeformułować kilka razy z poprawną składnią, ale zwraca mi błąd i nie wydaje się działać bez osadzenia skryptu.
Nowa wersja 7-Zip daje również opcję sum kontrolnych po kliknięciu prawym przyciskiem myszy (nie obejmuje to MD5 ). To ma SHA-1 , SHA-256 , CRC-32, CRC-64 itp.
Dla MD5 możesz pobrać HashTab i sprawdź klikając prawym przyciskiem myszy, a następnie właściwości.
Oto jeden, z którego korzystałem wcześniej, który dobrze integruje się z oknem „Właściwości” Eksploratora: Właściwości letnie . Jego otwarte źródło i an Dostępna jest również wersja x64 .
Podoba mi się także Bezpieczniejsze sieci FileAlyzer , który zapewnia również dodatkowe funkcje. Ale tylko dla sum kontrolnych, Summer Properties jest lekki i działa.
Nirsoft HashMyFiles to małe narzędzie, które pozwala obliczyć skróty MD5 i SHA1 jednego lub więcej plików w systemie. Możesz łatwo skopiować listę skrótów MD5 / SHA1 do schowka lub zapisać je w pliku tekstowym / html / xml.
HashMyFiles można również uruchomić z menu kontekstowe Eksploratora Windows, i wyświetlić skróty MD5 / SHA1 wybrany plik lub folder.
HashMyFiles jest darmowy i przenośny.
…that integrates into Windows [Explorer]
Znalazłem ten skrypt 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
}
}
}
}
Źródło: Obliczanie SHA1 w PowerShell
Wykorzystuje .NET, który zakładam, że został zainstalowany
Dodaję to tutaj tylko dlatego, że nie widziałem żadnych w pełni działających przykładów PowerShell, gotowych do skopiowania:
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 . Może obliczyć MD5 i SHA-1 wartości mieszania.
Pobierz, rozpakuj pliki, otwórz wiersz polecenia, przejdź do wyodrębnionej ścieżki, a następnie wpisz następujące polecenie:
fciv -md5 filepath\filename.extension
Na przykład:
fciv -md5 d:\programs\setup.exe
'fciv' is not recognized as an internal or external command, operable program or batch file.
Microsoft Windows [wersja 10.0.14393]
Plik wsadowy oparty na komentarzu pbarneya do odpowiedzi z większością komentarzy: Kopiuje skrót MD5 dowolnego pliku przeciągniętego do pliku wsadowego do schowka:
@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
Aby uczynić z niego element menu kontekstowego:
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
działa również
Niestety, nie jestem tego świadomy, ale Microsoft Sysinternals pakiet zawiera ładne narzędzie o nazwie sigcheck .
Menu kontekstowe MD5 robi dokładnie to. Dodaje MD5 opcja menu kontekstowego plików:
Menu kontekstowe MD5 to bezpłatne rozszerzenie powłoki dla systemu Windows, które wyświetla sumę kontrolną MD5 wybranego pliku.
Mówi, że jest kompatybilny z Windows 95, 98, ME, NT, 2000 i XP, chociaż działa na mnie doskonale w systemie Windows 7. Jest to mały plik do pobrania (238 KB) i zawiera wszystko, czego potrzebujesz.
To jest tylko skrypt powłoki cmd, który używa odpowiedź tedr2 ale usuwa obce linie i spacje wyjściowe:
:: 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
W razie potrzeby dane wyjściowe można przekierować do pliku:
@echo %str% > %3
na przykład
sys> \dev\cmd\hash.cmd MyApp.dll SHA1
8ae6ac1e90ccee52cee5c8bf5c2445d6a92c0d4f
Cygwin zawiera md5sum.exe
narzędzie, które powinno robić, co chcesz.
QuickHash obsługuje SHA-256 i SHA-512. Potrzebowałem obsługi SHA-256, aby zweryfikować sumę kontrolną białych bibliotek JavaScript do włączenia do dodatku Firefox.
używam suma kontrolna narzędzie wiersza polecenia.
md5
, sha1
, sha256
i sha512
. Stosowanie:
suma kontrolna [-t = sha1 | sha256 | sha512 | md5] [-c = podpis] [-f =] ścieżka pliku
-?
, --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..
Coś takiego: winmd5sum .
To też jest miłe: wyślij do MD5 - kliknij prawym przyciskiem myszy, wyślij do ..., a otrzymasz wynik.
HashTab 3.0 to darmowe rozszerzenie powłoki, które oblicza wiele sum kontrolnych, w tym MD5. Jest zintegrowany jako nowa karta w oknie Właściwości pliku.
Możesz użyć MD5 sumy dla Windows , pobieranie tylko 28 KB ( Cygwin może być przesadą, jeśli wszystko, co chcesz zrobić, to obliczyć skróty MD5).
Najprostszym sposobem użycia jest użycie Eksploratora do przeciągania i upuszczania plików na md5sums.exe w celu uzyskania ich skrótów MD5.
Prawidłowa odpowiedź brzmi oczywiście tak, CertUtil (patrz odpowiedź tedr2 ).
Ale dodam darmowe Penteract Plik Checksum Verifier który, jak sądzę, jest jednym z najbardziej przyjaznych dla użytkownika programów. (Zastrzeżenie: jestem związany z Penteract.)
Niektóre z jego zalet:
Aby zweryfikować integralność tego programu (przeciwko ataki man-in-the-middle ) - pobiera przez bezpieczne połączenie.
Plus: bezpłatny, offline (więc nie musisz przesyłać plików), przyjazny dla użytkownika (przeciągnij plik i uzyskaj wynik), uruchamia się z menu startowego (nie musisz szukać pobranego pliku wykonywalnego, gdy chcesz używaj go za rok) i obsługuje MD5, SHA1, SHA256 itd.
To nie jest wbudowane narzędzie, ale jest to bardzo dobra opcja
http://checksumcompare.sanktuaire.com
Możesz porównać sumę kontrolną według plików i / lub podsumowań, jeśli dwa foldery różnią się lub są identyczne.
Możesz spróbować msys2 tutaj .
Wystarczy wpisać sumę (algorytm). (algorytm) to algorytm mieszania, którego chcesz użyć, np. md5, sha1, sha256 ...
W przeciwieństwie do Cygwina, to narzędzie jest przenośne, wystarczy pobrać plik .zip i rozpakować w dowolnym miejscu. Możesz go użyć za pomocą jednego kliknięcia (msys2.exe).
Hop to narzędzie ci pomoże.
Dla rozwiązania, które działa w systemie Windows lub w dowolnym innym środowisku, użyj Pythona.
zainstaluj Pythona - jest dostępny instalator Windows https://www.python.org/downloads/
pobierz testowany cksum
wdrożenie, np. http://pastebin.com/raw.php?i=cKATyGLb - zapisz zawartość tego słowa, c:\cksum.py
lub gdziekolwiek to wygodne
Następnie, aby wykonać sumę kontrolną:
python c:\cksum.py INPUTFILE
Nie tak szybki jak skompilowane narzędzie, ale kompatybilny z Uniksem cksum
i biegnie wszędzie.