Przejdź do treści

Generator hashy (SHA-256)

Wpisz lub wklej tekst, a jednym kliknięciem obliczysz jego skróty SHA-256, SHA-1, SHA-384 i SHA-512. Wynik jest pokazywany szesnastkowo, małymi lub wielkimi literami, a przy każdym skrócie jest przycisk kopiowania. Haszowanie korzysta z Web Crypto API przeglądarki i działa na bajtach UTF-8 tekstu, więc nic nie jest przesyłane. Za darmo, bez rejestracji. Narzędzie haszuje wyłącznie tekst, nie pliki.

Jak korzystać z generatora hashy

  1. 1. Wpisz tekst. Dowolny tekst, o takiej długości, jaką przeglądarka zmieści w polu tekstowym.
  2. 2. Naciśnij Generuj skróty. Wszystkie cztery skróty pojawią się razem, a SHA-256 jest wyróżniony jako zalecany.
  3. 3. Wybierz wielkość liter. Wielkie litery szesnastkowe zmienia każdy skrót na wielkie litery zamiast małych (zwyczajowo); bajty są te same.
  4. 4. Skopiuj potrzebny skrót przyciskiem obok niego.

Cztery algorytmy

SHA-1, SHA-256, SHA-384 i SHA-512 są zdefiniowane w amerykańskim standardzie Secure Hash Standard, FIPS 180-4. Każdy zamienia dane wejściowe dowolnej długości na skrót o stałym rozmiarze. Rozmiar jest jedyną widoczną różnicą w wyniku:

AlgorytmRozmiar skrótuZnaki szesnastkoweStatus
SHA-1160 bitów40Złamany pod względem bezpieczeństwa: pierwsza praktyczna kolizja została opublikowana w 2017 roku, a NIST zaleca wycofanie go do 2030 roku. Tylko do starszych sum kontrolnych.
SHA-256256 bitów64Standardowy wybór do kontroli integralności i podpisów
SHA-384384 bity96Rodzina SHA-2; skrócony SHA-512
SHA-512512 bitów128Rodzina SHA-2; często szybszy od SHA-256 na 64-bitowych procesorach

Skrót kryptograficzny to jednokierunkowy odcisk palca. Ten sam tekst zawsze daje ten sam skrót, drobna zmiana daje zupełnie inny, a z samego skrótu nie da się odtworzyć tekstu. MD5 nie jest oferowany, ponieważ Web Crypto API go nie implementuje.

Przykład krok po kroku

Tekst

abc

SHA-256

ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad

SHA-1

a9993e364706816aba3e25717850c26c9cd0d89d

Te dwa skróty to opublikowane wektory testowe z przykładów standardu, więc możesz sprawdzić narzędzie na źródle, któremu ufasz. Teraz zobacz, co zmienia jedna litera. Zmieniamy „dog” na „cog” w zdaniu The quick brown fox jumps over the lazy dog:

…dog

d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

…cog

e4c4d8f3bf76b692de791a173e05321150f7a345b46484fe427f6acc7ecc81be

Te skróty SHA-256 nie mają nic rozpoznawalnego wspólnego: 123 z 256 bitów się różni, czyli blisko połowy, jakiej należy się spodziewać przy niezwiązanych wartościach. To efekt lawinowy i właśnie dlatego skrót może pokazać, że plik lub wiadomość się zmieniły, nie ujawniając, co dokładnie się zmieniło.

Dlaczego Twój skrót może się nie zgadzać

  • Końcowa nowa linia. abc i abc zakończone podziałem wiersza to różne dane wejściowe: SHA-256 z abc i nową linią zaczyna się od edeaaff3, a nie ba7816bf. Polecenie echo abc | sha256sum też haszuje nową linię; użyj printf lub echo -n, aby ją pominąć.
  • Wielkość liter i spacje. Abc daje inny skrót niż abc, tak samo jak spacja na początku lub na końcu.
  • Kodowanie. Narzędzie haszuje bajty UTF-8 tego, co wpisałeś. Tekst zahaszowany jako UTF-16 lub Latin-1 gdzie indziej daje inny skrót dla każdego znaku spoza ASCII.
  • Zakończenia wierszy. Tekst wklejony z pliku Windows może zawierać znaki powrotu karetki, które pole tekstowe normalizuje.

Do czego to narzędzie nie służy

  • Pliki. Haszuje wyłącznie tekst. Dla pliku użyj shasum -a 256 plik w macOS lub Linuksie albo certutil -hashfile plik SHA256 w Windows.
  • Hasła. SHA-256 jest zaprojektowany jako szybki, co pomaga atakującemu zgadywać hasła. Przechowuj hasła za pomocą powolnej, solonej funkcji haszującej do haseł, takiej jak Argon2id, scrypt lub bcrypt.
  • Skróty z kluczem. Nie ma opcji HMAC ani soli.

Którego narzędzia potrzebujesz?

Aby zobaczyć szesnastkową postać samego tekstu, a nie jego skrótu, użyj Konwerter hex. Do losowego identyfikatora użyj Generator UUID, a do losowego sekretu Generator haseł.

Najczęstsze pytania

Czy mój tekst jest wysyłany na serwer?
Nie. Każdy skrót jest obliczany w Twojej przeglądarce za pomocą Web Crypto API (crypto.subtle.digest). Twój tekst nigdzie nie jest wysyłany, a narzędzie działa dalej, nawet jeśli po załadowaniu strony przejdziesz w tryb offline.
Czym jest skrót kryptograficzny?
Funkcja, która zamienia dane wejściowe dowolnej długości na skrót o stałej długości. Jest deterministyczna, jednokierunkowa i wrażliwa na każdy bit danych wejściowych. Skróty służą m.in. do sprawdzania integralności plików, w podpisach cyfrowych i w identyfikatorach commitów.
Którego algorytmu skrótu powinienem użyć?
SHA-256 w prawie wszystkich zastosowaniach. SHA-384 i SHA-512 dają dłuższe skróty z tej samej rodziny. Używaj SHA-1 tylko wtedy, gdy wymaga go starszy system, i nigdy do celów bezpieczeństwa.
Czy SHA-1 jest bezpieczny w użyciu?
Nie w celach bezpieczeństwa. Atak SHAttered z 2017 roku wytworzył dwa różne pliki PDF o tym samym skrócie SHA-1, a NIST zaleca wycofanie go do końca 2030 roku. Pozostaje dopuszczalny do niezabezpieczających sum kontrolnych, gdy atakujący nie jest problemem.
Dlaczego nie ma opcji MD5?
Web Crypto API nie implementuje MD5, a narzędzie korzysta wyłącznie z tego, co dostarcza przeglądarka. MD5 od wielu lat nie nadaje się do zastosowań związanych z bezpieczeństwem.
Czy mogę zahaszować plik tym narzędziem?
Nie, przyjmuje wyłącznie tekst. Do plików użyj narzędzia wiersza poleceń swojego systemu, jak opisano wyżej.
Dlaczego mój SHA-256 różni się od wyniku innej strony?
Prawie zawsze dane wejściowe różnią się niewidocznym znakiem, na przykład końcową nową linią lub spacją, albo kodowaniem tekstu. Sprawdź dokładne bajty w Konwerterze hex.

Powiązane narzędzia

Więcej z kategorii Dane, znaczniki i kod