Dlaczego skróty SHA-256 się różnią i jak zweryfikować plik
Dwa obliczenia SHA-256 dla tych samych bajtów zawsze dają ten sam skrót. Jeśli wartości rzeczywiście się różnią, najpierw sprawdź wybrany plik, algorytm i niewidoczne znaki. Niepełne pobranie, spacja lub znak nowego wiersza zwykle wystarczą, aby zmienić wynik. Przed użyciem pobranego pliku porównaj jego pełny skrót ze skrótem opublikowanym przez zaufane źródło.
Wybierz plik lub tekst
Aby sprawdzić pobrany PDF, archiwum lub program, użyj narzędzia Kalkulator skrótu pliku. Oblicza SHA-256 z bajtów wybranego pliku. Nie kopiuj zawartości pliku do pola tekstowego: może to zmienić jego kodowanie lub zakończenia wierszy.
Aby porównać ciąg znaków, wybierz narzędzie Generator skrótów SHA-256. Koduje wprowadzony tekst jako UTF-8, a następnie oblicza jego skrót, uwzględniając spacje i podziały wiersza. Plik tekstowy i tekst wyświetlany na ekranie nie muszą więc przedstawiać tych samych bajtów.
Weryfikacja pobranego pliku krok po kroku
- Znajdź skrót na oficjalnej stronie wydawcy, dla właściwej wersji i pliku. Archiwum ZIP i dokument w jego wnętrzu mają różne skróty.
- Sprawdź, czy wartość wzorcowa używa SHA-256. Szesnastkowa wartość SHA-256 ma 64 znaki. Standard określa wynik 256-bitowy. Materiały NIST.
- W kalkulatorze plików kliknij „Wybierz plik”. Sprawdź wyświetloną nazwę i rozmiar, a następnie kliknij „Oblicz SHA-256”.
- Użyj „Kopiuj skrót” i porównaj wszystkie 64 znaki z wartością wzorcową. Przycisk kopiuje tylko skrót; porównanie nadal należy wykonać samodzielnie. Szesnastkowe litery A–F i a–f oznaczają te same wartości.
- Jeśli się różnią, nie uruchamiaj pliku. Sprawdź oczekiwaną wersję, a następnie pobierz go ponownie z oficjalnego źródła. Jeśli niezgodność się utrzymuje, poproś wydawcę o potwierdzenie.
Przykład z jednym znakiem nowego wiersza
W generatorze dla tekstu wpisz dokładnie abc, bez cudzysłowów, spacji i podziału wiersza. Kliknij „Oblicz skrót”. Trzy bajty UTF-8 to w zapisie szesnastkowym 61 62 63. Wynik:
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
Następnie ustaw kursor za c, naciśnij raz Enter i oblicz ponownie. Po dodaniu tego znaku końca wiersza LF dane wejściowe mają cztery bajty: 61 62 63 0a. Wynik zmienia się na:
edeaaff3f1774ad2888673770c6d64097e391bc362d7d6fb34982ddf0efd18cb
Aby odtworzyć te wyniki na plikach, zapisz pierwszy jako UTF-8 bez BOM i bez końcowego znaku nowego wiersza, a drugi z jednym końcowym LF. Kalkulator powinien pokazać odpowiednio 3 i 4 bajty. Niektóre edytory automatycznie dodają znak nowego wiersza: sprawdź to ustawienie.
Różnice, których nie widać
Spacja po słowie, tabulator lub pusty wiersz są częścią treści. Zakończenia wierszy LF i CRLF mają różne bajty. Plik UTF-8 ze znacznikiem BOM ma też dodatkowe bajty na początku w porównaniu z tym samym tekstem zapisanym bez BOM.
Znaki diakrytyczne też mogą zaskakiwać: é oraz e z następującym po nim akcentem łączącym mogą wyglądać tak samo na ekranie, mimo innej reprezentacji. Generator nie normalizuje ich automatycznie. Inspektor kodowania tekstu i konwerter UTF-8 pomaga sprawdzić BOM i zakończenia wierszy w plikach tekstowych do 5 MiB. Musisz potwierdzić sugerowane kodowanie; bez BOM nie zawsze da się je rozpoznać. Nie konwertuj pliku przed sprawdzeniem jego oryginalnego skrótu.
Co mówi wynik kontroli
Zgodny skrót SHA-256 zapewnia silną kontrolę integralności, ale nie jest matematyczną gwarancją unikalności: funkcje skrótu projektuje się tak, aby znalezienie kolizji było trudne. RFC 6234.
Nie dowodzi, że plik jest nieszkodliwy ani że jego autor jest tym, za kogo się podaje. Jeśli atakujący dostarczy zarówno zmodyfikowany plik, jak i jego skrót, będą one zgodne. Źródło wzorca pozostaje kluczowe. Podpis cyfrowy zweryfikowany zaufanym kluczem zapewnia osobną kontrolę autentyczności.
Lista kontrolna przed wyciągnięciem wniosku
- Ten sam plik, ta sama wersja i ten sam algorytm
- Wzorzec uzyskany z zaufanego źródła
- Porównano cały skrót, uwzględniając równoważność wielkich i małych liter szesnastkowych
- Bez modyfikacji, konwersji ani ponownego eksportu między obliczeniami
Najczęstsze pytania
Czy zmiana nazwy pliku zmienia jego skrót?
Nie: jego nazwa nie jest częścią obliczenia. Jednak zmiana metadanych zapisanych wewnątrz pliku zmienia jego bajty i zazwyczaj również skrót.
Czy mogę odzyskać plik z jego skrótu SHA-256?
SHA-256 nie jest szyfrowaniem i nie ma klucza deszyfrującego. Skrót służy do porównywania danych, a nie do ich odzyskiwania ani ukrywania przewidywalnego sekretu.
Dlaczego przetwarzanie dużego pliku się nie udaje?
Obliczenie pozostaje w przeglądarce, ale cały plik jest wczytywany do pamięci. Używane API nie przetwarza danych strumieniowo, więc praktyczny limit zależy od urządzenia i przeglądarki. Strona i jej zasoby nadal są pobierane z witryny. Dokumentacja MDN.