Generator SHA-256 - Hash i HMAC-SHA256 Online

    Policz SHA-256 albo HMAC-SHA256 z kluczem dla dowolnego tekstu: wynik w hex, Base64 i base64url jak w podpisie JWT HS256, z porównaniem z podanym skrótem albo podpisem.

    Parametry

    Wprowadź dane do obliczeń

    0 / 20000 znaków

    Liczy się każdy znak, także spacje i nowe linie

    Nieobowiązkowe, sekret do HMAC-SHA256

    Ten sam skrót, inny zapis

    Nieobowiązkowe, 64 znaki 0-9 i a-f

    Postęp wypełniania0 / 1 pól

    💡 Wypełnij wszystkie wymagane pola, aby odblokować przycisk obliczania

    SHA-256 i HMAC-SHA256 z tekstu - atlas skrótu

    Ile znaków ma SHA-256? Zawsze 64, niezależnie od tego, czy wkleisz jedno słowo, czy 20 000 znaków. Generator liczy skrót z bajtów UTF-8 tekstu, a po dodaniu klucza HMAC-SHA256 z RFC 2104. Dla „abc” wynik to ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad, ten sam co w przykładzie NIST. Obok dostajesz zapis Base64 i base64url (format podpisu JWT HS256) oraz porównanie z podanym skrótem.

    256 bitów
    32 bajty, 64 znaki hex
    512 bitów
    blok przetwarzania (64 bajty)
    64 kroki
    na każdy blok (FIPS 180-4)

    Jak policzyć SHA-256 - krok po kroku

    1. Tekst - wklej dane do skrótu. Spacje i nowe linie też się liczą.
    2. Klucz HMAC - zostaw puste dla zwykłego SHA-256. Wpisz sekret, jeśli sprawdzasz podpis webhooka albo tokenu JWT HS256.
    3. Wielkość liter - małe jak w sha256sum, wielkie jak w Get-FileHash. Te same bajty.
    4. Skrót do porównania - nieobowiązkowe, 64 znaki z innego źródła.
    5. Odczytaj wynik - skrót hex skopiujesz przyciskiem, niżej masz Base64, base64url i wynik porównania.

    Jak SHA-256 przerabia tekst na skrót

    SHA-256 należy do rodziny SHA-2 opisanej w standardzie FIPS 180-4. Wiadomość dostaje bit 1, zera i swoją długość, tak żeby dała się podzielić na bloki po 512 bitów. Każdy blok przechodzi 64 kroki mieszania z 64 stałymi, a osiem 32-bitowych słów stanu składa się na końcu w 256-bitowy skrót. Wejście może mieć mniej niż 264 bitów, czyli w praktyce dowolną długość.

    Skrót nie ma klucza, więc policzy go każdy. Kiedy trzeba udowodnić, że wiadomość wysłał ktoś, kto zna sekret, wchodzi HMAC: klucz łączony jest z dwiema stałymi (0x36 i 0x5c), a SHA-256 liczy się dwa razy. Klucz dłuższy niż 64 bajty najpierw sam jest skracany przez SHA-256 (RFC 2104). Na tym opiera się algorytm JWT HS256 z RFC 7518, który wymaga klucza co najmniej 256-bitowego.

    Rodzina ma też osobny standard SHA-3 (FIPS 202), zbudowany zupełnie inaczej. Jej funkcje nazywają się w FIPS 202 SHA3-224, SHA3-256, SHA3-384 i SHA3-512, więc samo „SHA-256” oznacza SHA-2.

    Tabela 1: rodzina SHA wg FIPS 180-4

    Parametry z rysunku 1 standardu. Ostatnia kolumna to długość zapisu szesnastkowego, po której najłatwiej rozpoznać, z jaką funkcją masz do czynienia.

    Funkcja Blok (bity) Słowo (bity) Skrót (bity) Znaki hex
    SHA-15123216040
    SHA-2245123222456
    SHA-2565123225664
    SHA-38410246438496
    SHA-512102464512128
    SHA-512/22410246422456
    SHA-512/25610246425664

    SHA-256 i SHA-512/256 mają tę samą długość 64 znaków, ale z tego samego tekstu dają inne wyniki. Jeśli skrót się nie zgadza, a długość tak, to pierwsza rzecz do sprawdzenia.

    Tabela 2: gdzie spotkasz SHA-256 i czy to bezpieczne

    Zastosowanie Co liczysz Interpretacja
    Suma pliku do pobraniaSHA-256 pliku (sha256sum)Właściwe użycie
    Podpis webhooka, APIHMAC-SHA256 treści z sekretemWłaściwe użycie
    Token JWT HS256HMAC-SHA256, wynik w base64urlWłaściwe, przy kluczu od 32 bajtów
    Hasło w bazie jako sam SHA-256SHA-256 hasła, często bez soliZa słabe - OWASP: funkcja za szybka
    Suma podana jako MD5 albo SHA-132 albo 40 znakówPrzestarzałe - MD5: RFC 6151, SHA-1: NIST zaleca SHA-2 albo SHA-3

    Cztery rzeczy, które zaskakują przy SHA-256

    Pusty tekst też ma skrót. SHA-256 zera bajtów to e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855. Gdy taki ciąg pojawia się w logu jako skrót pliku, program przeczytał pusty plik.
    Jeden znak nowej linii. „Ala ma kota” daje 124bfb6284d82f3b…, a z enterem na końcu c51bc001db020612…. Polecenie echo bez -n dopisuje właśnie ten znak.
    Base64 jest krótsze od hex. Te same 32 bajty to 64 znaki hex, 44 znaki Base64 (z jednym „=”) albo 43 znaki base64url bez „=”. Dla „abc”: ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=.
    Polskie litery zmieniają bajty, nie tylko znaki. „zażółć gęślą jaźń” to 17 znaków i 26 bajtów UTF-8; skrót wynosi ab4e973a71cf9dd8a6d0d9b8030029b219b6e162d1dbdf0ad0ebf0dd698d6057.

    Jak interpretować wynik porównania?

    Komunikat Co to znaczy
    ZgodneTen sam tekst (i klucz) co po drugiej stronie, bajt w bajt.
    NiezgodneInne dane wejściowe. Różnica na prawie wszystkich pozycjach jest normalna nawet przy jednej spacji.
    Zła długość32 znaki to MD5, 40 to SHA-1, 128 to SHA-512. Porównujesz różne funkcje.

    FAQ - SHA-256 w praktyce

    Czy SHA-256 da się odszyfrować?
    Nie, to funkcja skrótu, a nie szyfr, więc nie ma czego odszyfrować. Krótkie i popularne teksty da się najwyżej zgadnąć: wystarczy policzyć skróty milionów kandydatów i porównać je z Twoim. Dlatego do haseł używa się wolnych funkcji z solą.
    Jak sprawdzić podpis HMAC z webhooka?
    Wklej surową treść żądania (bez formatowania JSON) jako tekst, sekret jako klucz i podpis z nagłówka do porównania. Część serwisów podaje podpis w Base64, wtedy porównaj go z linią Base64 w wyniku. Przykład z RFC 4231: klucz „Jefe”, tekst „what do ya want for nothing?”, wynik 5bdcc146bf60754e6a042426089575c75a003f089d2739839dec58b964ec3843.
    Dlaczego mój SHA-256 z Excela albo bazy jest inny?
    Najczęściej przez kodowanie znaków (UTF-16 albo Windows-1250 zamiast UTF-8) albo przez dopisany znak końca linii. Generator liczy zawsze z UTF-8 i nie obcina spacji.
    Jak policzyć SHA-256 pliku?
    W systemie: sha256sum plik w Linuksie, shasum -a 256 plik w macOS, Get-FileHash plik w PowerShellu (domyślnie SHA-256). Generator przyjmuje tylko tekst do 20 000 znaków.
    Czy mogę tu wpisać prawdziwy klucz API?
    Lepiej nie. Obliczenie wykonuje serwer LiczGrupa.pl, a dane wejściowe zapisują się w dzienniku obliczeń. Do sprawdzania sposobu liczenia użyj klucza testowego.

    Powiązane narzędzia

    Kodowanie Base64

    Tekst na Base64 i z powrotem, base64url do JWT i adresy data: - Zobacz generator

    Generator MD5

    Skrót MD5 z tekstu, gdy wymaga go starszy system - Zobacz generator

    Generator Haseł

    Losowy sekret na klucz HMAC albo hasło - Zobacz generator

    Generator UUID/GUID

    Unikalne identyfikatory do baz danych i żądań API - Zobacz generator

    Konwerter Systemów Liczbowych

    Zamiana zapisu szesnastkowego na dwójkowy i dziesiętny - Zobacz kalkulator

    Generator Meta Tagów SEO

    Znaczniki title, description i Open Graph dla strony - Zobacz generator

    Generator zweryfikowany przez zespół LiczGrupa.pl

    Treść, wzory i wyniki zostały sprawdzone pod kątem poprawności i aktualności przez nasz zespół specjalistów.

    Krystian Szyszka

    Sprawdził: Krystian Szyszka