Jaki jest najlepszy sposób obliczenia sumy kontrolnej pliku znajdującego się na moim komputerze?

82

Jestem na komputerze z systemem Windows i chcę sprawdzić sumę kontrolną w dystrybucji MySQL, którą właśnie otrzymałem. Wygląda na to, że są produkty do pobrania, nieobsługiwane narzędzie firmy Microsoft i prawdopodobnie inne opcje. Zastanawiam się, czy istnieje konsensus co do najlepszego narzędzia do użycia. To może być naprawdę łatwe pytanie, po prostu nigdy wcześniej nie wykonywałem procedury sumy kontrolnej.

Białeckiego
źródło
2
Omówiono również na SuperUser: superuser.com/questions/245775/ ...

Odpowiedzi:

16

Każda MD5 wygeneruje dobrą sumę kontrolną do zweryfikowania pliku. Każdy z plików wymienionych na dole tej strony będzie działał poprawnie. http://en.wikipedia.org/wiki/Md5sum

Nick Berardi
źródło
6
Ta odpowiedź nie jest już dobrą radą. MD5 jest obecnie bardzo niepewne . Używanie MD5 do sprawdzania poprawności pobranych plików nie jest bezpieczne.
antiduh
22
@antiduh Widząc, że otrzymujesz hash z tego samego miejsca, z którego go pobierasz, Twój argument jest dyskusyjny. Jesteś ograniczony hashem dostarczonym przez witrynę.
JJ
7
Zwróćmy uwagę, że użytkownik chce tylko sprawdzić, czy pobrany plik nie został uszkodzony. Jeśli spojrzysz na https://en.wikipedia.org/wiki/MD5#Security , w pierwszym akapicie natkniesz się na to kluczowe zdanie: „Chociaż MD5 został pierwotnie zaprojektowany do użytku jako kryptograficzna funkcja skrótu, ma stwierdzono, że ma rozległe luki w zabezpieczeniach. Nadal można jej używać jako sumy kontrolnej do weryfikacji integralności danych, ale tylko w przypadku niezamierzonego uszkodzenia ”.
Kosta Tenedios,
2
@JJ Wiele oficjalnych stron internetowych sprawia, że ​​pobierasz rzeczywisty plik binarny z innej domeny, więc argument jest ważny. Możesz pobrać zmodyfikowaną VLC ze złośliwego serwera lustrzanego za pośrednictwem oficjalnej strony, która zostanie wykryta przez sumę kontrolną.
Hej,
2
@antiduh Zapytałem nie dlatego, że jestem zbyt leniwy, by wyszukiwać, ale dlatego, że RTFM nigdy nie jest odpowiednią „odpowiedzią” w Stackoverflow (co sugeruje twoja odpowiedź).
java-addict301
237

Certutil jest preinstalowany narzędzie Windows, który może być używany do generowania sum kontrolnych hash:

CertUtil -hashfile pathToFileToCheck [HashAlgorithm]

HashAlgorithm do wyboru: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512

Na przykład poniższy kod generuje sumę kontrolną MD5 dla pliku C:\TEMP\MyDataFile.img:

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

Aby uzyskać wyniki podobne do systemów * Nix, możesz dodać trochę magii PS:

$(CertUtil -hashfile C:\TEMP\MyDataFile.img MD5)[1] -replace " ",""
Laisvis Lingvevicius
źródło
1
Jest to znacznie łatwiejszy wybór niż FCIV, biorąc pod uwagę, że jest on wstępnie zainstalowany.
CJBS,
1
Uwaga: to nie jest preinstalowane w Win XP, ale biorąc pod uwagę, że ten system operacyjny jest teraz przestarzały, nie powinno to stanowić problemu.
CJBS
2
@Laisvis - z twoim wyjaśnieniem przeszedłem od 0 do gotowego w około 2 minuty. Przyszedłem na tę stronę, szukając, jak to zrobić. Twoja odpowiedź była prosta i doskonała.
Iceberg
2
+1 za polecenie wstępnie zainstalowanej wersji. Czy jest lepszy sposób na zapewnienie bezpiecznego oprogramowania do sprawdzania bezpieczeństwa i zapisywania dodatkowych kroków polowania, pobierania, instalowania i sprawdzania poprawności.
Zack Jannsen
1
Czy ktoś może mi powiedzieć, jak sprawdzić sumę kontrolną pliku pod kątem użycia skrótu wygenerowanego przez certUtil? wiersz poleceń. Czy byłoby to po prostu użycie tej samej linii poleceń do wygenerowania skrótu w pliku (po odebraniu pliku na maszynie docelowej)?
rvpals
25

Osobiście używam Cygwin , dzięki któremu cały smörgåsbord narzędzi Linuksa jest na wyciągnięcie ręki - jest tam md5sumi wszystkie skróty kryptograficzne obsługiwane przez OpenSSL . Alternatywnie można również użyć dystrybucji OpenSSL dla systemu Windows (wersja „lekka” ma tylko 1 MB instalatora).

Zach Scrivena
źródło
3
Samo sprawdzenie sumy kontrolnej Cygwin wydaje się trochę ciężkie. Zwłaszcza, że ​​istnieje plik wykonywalny 5KB do sprawdzania MD5
Nick Berardi
3
Może to być ciężkie, ale jest to poprawna odpowiedź, szczególnie biorąc pod uwagę program Unixy (MySQL).
Adam Hawes
3
Dla tych z nas, którzy uważają Cygwin za niezbędne narzędzie, jest to doskonała odpowiedź.
Zenexer
7
Warto zauważyć, że md5sum jest również wyposażony w git bash (mingw)
Old Badman Gray
6

Zakładki sum kontrolnych: http://code.kliu.org/hashcheck/

Od jakiegoś czasu działa to świetnie w oknach. Umożliwia łatwe kopiowanie i wklejanie sum kontrolnych. Ma pole do wpisywania / wklejania sum kontrolnych ze stron internetowych i całkiem dobrze pokazuje dopasowania lub niezgodności.

Sqeaky
źródło
2
To poręczne małe narzędzie jest tutaj raczej zaniżone. Po pierwsze, nie mam żadnego związku z autorem (autorami) - po prostu myślę, że to świetne narzędzie! Pozwala wygenerować wybrany plik skrótu z menu kontekstowego w Eksploratorze Windows dla pojedynczego pliku lub grupy plików. Możesz później dwukrotnie kliknąć ten plik skrótu, aby automatycznie uruchomić weryfikację skrótu tych plików. Często używam tego do generowania skrótu dla dużych plików, które chcę skopiować, a następnie kopiuję z nim plik skrótu, a w miejscu docelowym kliknij dwukrotnie, aby sprawdzić, czy przetrwały nienaruszone.
Michael Sorens
1
Doskonałe rozwiązanie, ale link jest nieaktualny. Najbezpieczniejszym miejscem do zdobycia tego oprogramowania jest teraz github.com/gurnec/HashCheck
saszetka
5

Na MySQL.com MD5 są wymienione obok każdego pliku, który można pobrać. Na przykład MySQL „Windows Essentials” 5.1 to 528c89c37b3a6f0bd34480000a56c372 .

Możesz pobrać md5 (md5.exe), narzędzie wiersza poleceń, które obliczy MD5 dowolnego pliku, który masz lokalnie. MD5 jest taka sama jak każda inna kryptograficzna funkcja skrótu , co oznacza, że ​​dana tablica bajtów zawsze będzie generować ten sam skrót. Oznacza to, że jeśli pobrany plik zip MySQL (lub cokolwiek innego) ma to samo MD5, co publikuje na swojej stronie, masz dokładnie ten sam plik.

tonyz
źródło
3

7-Zip może służyć do generowania skrótów plików, folderów plików i drzew folderów plików. 7-Zip to niewielkie rozmiary i bardzo przydatne narzędzie do kompresji. http://7-zip.org/

gridtrak
źródło
Chociaż prawdą jest, że 7-zip zapewnia skróty dla wszystkich wymienionych powyżej elementów, brakuje sposobu na bezpośrednie skopiowanie i wklejenie wyników. CertUtil, ponieważ jest to program CMD, zapewnia funkcję kopiuj-wklej.
Jonathin
Możliwe jest również użycie 7z.exe przez CMD, na przykład 7z.exe h -scrcSHA256 -- /path/to/your/file.txttworzy hash sha256.
Elpy
2

Aby dodać kolejną opcję dla użytkowników systemu Windows, Get-FileHashmożna użyć polecenia cmdlet PowerShell ( https://technet.microsoft.com/en-us/library/dn520872.aspx ).

Przykładowe użycie: Get-FileHash MyImage.iso -Algorithm MD5

Jeśli wszystko, czego szukasz, to tylko surowy hash, to: (Get-FileHash MyImage.iso -Algorithm MD5).Hash

Kosta Tenedios
źródło
2

Aby obliczyć md5 wszystkich plików w bieżącym katalogu w systemie Windows 7

for %i in (*) DO CertUtil -hashfile %i MD5
Abey
źródło
1

Najlepszym narzędziem dla systemu Windows jest HashCheck, który jest teraz dostępny na GitHub. https://github.com/gurnec/HashCheck/releases/tag/v2.4.0

Zainstaluj HashCheck. Teraz kliknij plik prawym przyciskiem myszy -> Utwórz plik weryfikacyjny. Utworzy plik file.extension.md5 z kodem MD5.

Kocham to.

djibe
źródło
0

Zauważ, że powyższe rozwiązania nie powiedzą ci, czy instalacja jest poprawna, tylko wtedy, gdy plik install.exe jest poprawny (możesz zaufać, że wykona poprawną instalację).

Będziesz potrzebował sum MD5 dla każdego pliku / folderu, aby sprawdzić, czy zainstalowany kod został zepsuty po zakończeniu instalacji.

WinMerg jest przydatny do porównania dwóch instalacji (być może na dwóch różnych komputerach), aby sprawdzić, czy jedna została zmieniona lub dlaczego jedna jest zepsuta.

Chris Nava
źródło
0

na pewno certutil jest najlepszym podejściem, ale istnieje szansa na trafienie maszyny z systemem Windows XP / 2003 bez polecenia certutil.Można użyć polecenia makecab, które ma swój własny algorytm haszujący - tutaj plikinf.bat, który wyświetli informacje o pliku, w tym suma kontrolna.

npocmaka
źródło
0

Haszowanie to samodzielna aplikacja, która obsługuje rodziny MD5, SHA-1 i SHA-2. Oparty na OpenSSL.

Lelo
źródło
0

W HPUX (HP UNIX)

Zainstaluj pakiet md5sum na komputerze z systemem UNIX, na przykład, jeśli istnieje plik o nazwie a.txt

shell > md5sum a.txt
Rnsthota
źródło
-4

Po prostu użyj api sum kontrolnych win32. MD5 jest natywna w Win32.


źródło
2
Czy masz przykład interfejsu API Win32, który jest wystarczająco mały, aby uzyskać odpowiedź SO i odpowiedni dla pytającego?
Sqeaky,