ToolboxKit

Czym jest suma kontrolna i dlaczego warto jej używać do weryfikacji pobranych plików

Za każdym razem, gdy pobierasz oprogramowanie, ufasz, że otrzymany plik jest dokładnie tym, który wysłał wydawca, a nie uszkodzoną kopią ani czymś, co atakujący podmienił po drodze. Suma kontrolna to proste, kilkudziesięcioletnie narzędzie, które pozwala to zaufanie zweryfikować, zamiast po prostu zakładać.

Czym jest suma kontrolna

Suma kontrolna (zwana też hashem) to ciąg liter i cyfr o stałej długości, wygenerowany przez przepuszczenie pliku przez funkcję matematyczną, najczęściej SHA-256 lub SHA-512. Te same dane zawsze dają ten sam wynik, a zmiana nawet jednego bajtu całkowicie zmienia rezultat. To czyni sumę kontrolną wiarygodnym odciskiem palca: jeśli dwa pliki dają ten sam hash, są, do wszelkich praktycznych celów, identyczne.

To coś innego niż hash hasła używany do uwierzytelniania. Suma kontrolna nie jest tajna; jej celem jest otwarte opublikowanie, by każdy mógł porównać ją ze swoją kopią pliku.

Dlaczego to ważne

Renomowane projekty oprogramowania i dystrybucje Linuksa publikują sumę kontrolną obok każdego pobrania, zwykle na tej samej stronie lub w pliku .sha256. Porównanie jej z otrzymanym plikiem wychwytuje dwa problemy:

  • Uszkodzenie: pobieranie przerwane lub uszkodzone w drodze da inny hash, nawet jeśli plik wygląda na otwierający się normalnie.
  • Manipulację: jeśli lustro lub przejęty link zwróci zmodyfikowany plik, na przykład z dołączonym złośliwym oprogramowaniem, jego suma nie zgodzi się z opublikowaną przez wydawcę.

Jak ją sprawdzić

Większość systemów operacyjnych ma wbudowany sposób generowania hasha z wiersza poleceń: certutil -hashfile w Windows, shasum w macOS i sha256sum w Linuksie. Kroki są zawsze te same:

  1. Pobierz plik i zanotuj sumę kontrolną opublikowaną przez źródło.
  2. Przepuść plik przez ten sam algorytm skrótu na swoim komputerze.
  3. Porównaj oba ciągi znak po znaku. Jeśli są identyczne, plik jest nienaruszony.

Ta sama idea przydaje się poza pobieraniem: do sprawdzenia, czy fragment kodu, klucz licencyjny lub tekst zgadza się z oczekiwaną wartością. Nasz generator hashy oblicza hashe SHA-1, SHA-256, SHA-384 i SHA-512 wklejonego tekstu w całości w przeglądarce, z użyciem Web Crypto API. Nic nie jest wysyłane na serwer.

Zobacz także