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.


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


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

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).


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.


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.



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/


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 obliczyć md5 wszystkich plików w bieżącym katalogu w systemie Windows 7

for %i in (*) DO CertUtil -hashfile %i MD5



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.


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.





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

-4

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


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.