tooly

Generator hash

Oblicz skróty MD5, SHA-1, SHA-256, SHA-384 i SHA-512 dla dowolnego tekstu lub pliku. Hashe aktualizują się podczas pisania. Pliki są hashowane lokalnie, więc możesz prywatnie weryfikować duże pobrania.

Wszystko działa w przeglądarce — nic nie jest wysyłane

Jak używać

  1. 1

    Wpisz lub wklej tekst albo wybierz plik.

  2. 2

    Wszystkie pięć hashy liczy się natychmiast.

  3. 3

    Skopiuj ten, którego potrzebujesz.

Do czego przydaje się hash

Kryptograficzna funkcja skrótu zamienia dane wejściowe dowolnego rozmiaru w odcisk o stałej długości. Te same dane zawsze dają ten sam skrót, a zmiana choćby jednego bitu daje zupełnie inny. Ze skrótu nie da się odtworzyć danych wejściowych, a w przypadku nowoczesnych algorytmów nie da się w praktyce znaleźć dwóch różnych danych o tym samym skrócie.

Dlatego hashe przydają się zawsze, gdy musisz wiedzieć, czy dwie rzeczy są identyczne, bez porównywania ich bajt po bajcie:

  • Weryfikacja pobranych plików. Obrazy ISO Linuksa, firmware i wiele instalatorów publikuje SHA-256 obok linku do pobrania. Jeśli Twój plik daje tę samą wartość, dotarł w całości.
  • Wykrywanie duplikatów. Dwa zdjęcia lub dokumenty z tym samym SHA-256 to ten sam plik, niezależnie od nazw.
  • Klucze pamięci podręcznej i ETagi. Serwery WWW i narzędzia budujące hashują treść, aby stwierdzić, czy się zmieniła.
  • Integralność w API. Webhooki, pliki blokad pakietów i atrybuty Subresource Integrity opierają się na skrótach.
  • Debugowanie. Porównanie hasha obliczonego przez Twój kod z wartością referencyjną szybko pokazuje, czy błąd tkwi w hashowaniu, czy w danych wejściowych.

Pięć algorytmów obok siebie

Narzędzie liczy wszystkie pięć naraz, więc dopasujesz się do dowolnego formatu publikowanego przez stronę.

  • MD5, 128 bitów, 32 znaki szesnastkowe. Zaprojektowany w 1991 roku. Praktyczne kolizje są możliwe od 2004 roku, więc nie wolno go używać tam, gdzie atakujący mógłby spreparować dane wejściowe. Nadal popularny do szybkiego wykrywania duplikatów i w starszych sumach kontrolnych.
  • SHA-1, 160 bitów, 40 znaków szesnastkowych. Wycofany po pierwszej publicznej kolizji w 2017 roku. Git historycznie identyfikował obiekty przez SHA-1, dlatego wciąż jest wszędzie.
  • SHA-256, 256 bitów, 64 znaki szesnastkowe. Obecny standard dla sum kontrolnych, certyfikatów, menedżerów pakietów i blockchainów.
  • SHA-384, 384 bity, 96 znaków szesnastkowych. Skrócony wariant SHA-512, często używany w TLS i w hashach Subresource Integrity.
  • SHA-512, 512 bitów, 128 znaków szesnastkowych. Ta sama rodzina co SHA-256, ale z 64-bitowymi operacjami wewnętrznymi, przez co na procesorach 64-bitowych może być szybszy od SHA-256.

Jeśli masz wybór, publikuj i sprawdzaj SHA-256. MD5 i SHA-1 nadają się tylko do wykrywania przypadkowych uszkodzeń, a nie celowych manipulacji.

Jak uzyskać zgodny hash tekstu

Gdy Twój skrót różni się od czyjegoś dla „tego samego” tekstu, dane wejściowe prawie nigdy nie są naprawdę takie same. Co sprawdzić:

  • Końcowy znak nowej linii. echo hello | sha256sum hashuje hello ze znakiem nowej linii na końcu. Pole tekstowe tutaj hashuje dokładnie to, co wpisałeś, więc wyniki się różnią, chyba że dodasz nową linię na końcu. W wierszu poleceń echo -n lub printf pozwala uniknąć dodatkowego znaku.
  • Znaki końca linii. Windows używa CR LF, Linux i macOS — LF. Wklejony tekst wielowierszowy może zmienić zakończenia w zależności od tego, skąd pochodzi.
  • Kodowanie. Tekst jest konwertowany do UTF-8 przed hashowaniem. System, który hashuje bajty w Latin-1 lub UTF-16, dostanie inny wynik dla wszystkiego, co wykracza poza zwykłe ASCII.
  • Niewidoczne znaki. Twarde spacje i znaki o zerowej szerokości skopiowane ze stron WWW lub PDF-ów wyglądają na ekranie identycznie.
  • Wielkość liter w zapisie szesnastkowym. Skróty są pokazywane małymi literami. A3F… i a3f… to ta sama wartość; porównuj je bez rozróżniania wielkości liter.

Hashowanie plików i weryfikacja sum kontrolnych

Hash pliku… odczytuje wybrany plik lokalnie i liczy wszystkie pięć skrótów z jego dokładnych bajtów. Nazwa i data pliku nie wpływają na wynik — liczy się tylko zawartość. Rodzina SHA korzysta z wbudowanej w przeglądarkę implementacji Web Crypto; MD5 jest liczony przez małą bibliotekę JavaScript, bo przeglądarki go nie udostępniają.

Aby zweryfikować pobrany plik, otwórz stronę z sumami kontrolnymi wydawcy, znajdź linię dla swojego pliku i porównaj ją z odpowiednim wierszem tutaj. Porównanie pierwszych i ostatnich sześciu lub ośmiu znaków to szybki test zdroworozsądkowy; dla prawdziwego bezpieczeństwa porównaj cały ciąg. Jeśli wartości się różnią, pobierz plik ponownie, zanim założysz manipulację — przerwane pobieranie to najbardziej prawdopodobna przyczyna.

Cały plik jest wczytywany do pamięci przed hashowaniem, więc bardzo duże pliki, zwłaszcza kilkugigabajtowe na telefonie, mogą przetwarzać się powoli lub zakończyć błędem. Nic nie jest wysyłane.

Czym hashe nie są

Zwykły hash nie jest sposobem na przechowywanie haseł. MD5 i rodzina SHA są zaprojektowane tak, by były szybkie, co pozwala atakującym sprawdzać miliardy prób na sekundę wobec wykradzionego skrótu. Przechowywanie haseł wymaga celowo powolnej funkcji z solą, takiej jak bcrypt, scrypt czy Argon2. Jeśli potrzebujesz po prostu silnego sekretu, użyj generatora haseł.

Hash nie jest też szyfrowaniem. Działa w jedną stronę: nie ma klucza, który pozwoliłby odzyskać oryginał.

FAQ

Czy mój plik jest wysyłany?

Nie. Hashowanie używa Web Crypto API w przeglądarce. Plik nie opuszcza urządzenia.

Którego hasha użyć?

Dziś do sum kontrolnych i integralności — SHA-256. MD5 i SHA-1 nadają się do wykrywania przypadkowych uszkodzeń, ale nie chronią przed manipulacją.

Czy mogę zweryfikować pobrany plik?

Tak. Wybierz plik i porównaj SHA-256 z wartością opublikowaną na stronie pobierania.

Czy jest limit rozmiaru pliku?

Nie ma sztywnego limitu, ale przed hashowaniem cały plik jest wczytywany do pamięci, więc pliki wielogigabajtowe mogą nie zadziałać na urządzeniach z małą ilością pamięci, zwłaszcza na telefonach. Nic nie jest wysyłane.

Podobne narzędzia