Jak używać
- Wpisz lub wklej tekst, ustaw „Wejście jako” na „Hex”, aby podać bajty szesnastkowo, albo kliknij „Otwórz plik” i wybierz plik do sprawdzenia.
- Pozostaw wybrany algorytm SHA-256 i ustaw „Wyjście jako” na „hex (małe litery)”, „HEX (wielkie litery)” lub „Base64”.
- Wklej sumę kontrolną ze strony pobierania do pola „Porównaj z”. Komunikat „Zgadza się” oznacza, że plik jest identyczny.
- Skopiuj wynik albo skopiuj SHA-384, SHA-512 lub inny hash z tabeli „Wszystkie algorytmy”.
Czym jest SHA-256?
SHA-256 to najczęściej używana funkcja z rodziny SHA-2, zaprojektowana przez NSA i znormalizowana przez NIST w 2002 roku w FIPS 180-2. Obecnie jej specyfikację zawiera FIPS 180-4, a RFC 6234 opisuje te same algorytmy wraz z kodem referencyjnym. SHA-256 przetwarza bloki 512-bitowe w 64 rundach arytmetyki 32-bitowej i daje 256-bitowy hash: 64 znaki szesnastkowe lub 44 znaki Base64. Nie jest znany żaden praktyczny atak kolizyjny ani atak na przeciwobraz, a SHA-256 jest domyślnym wyborem w przypadku:
- certyfikatów TLS, uzgadniania połączeń TLS i podpisywania kodu;
- Bitcoina, który stosuje SHA-256 dwukrotnie do hashy bloków, dowodu pracy (proof of work) i identyfikatorów transakcji (suma kontrolna w adresach Base58Check pochodzi z tego samego podwójnego hasha);
- plików z sumami kontrolnymi, takich jak
SHA256SUMS, hashy obrazów kontenerów (sha256:...) oraz Subresource Integrity.
Weryfikacja pobranego pliku
Otwórz pobrany plik i wklej sumę kontrolną wydawcy do pola „Porównaj z”. Wielkość liter nie ma znaczenia, działa też wartość w Base64. Komunikat „Zgadza się” oznacza, że plik jest bajt w bajt tym samym plikiem, z którego utworzono sumę kontrolną. Nie dowodzi to jednak, kto go utworzył, dlatego sumę kontrolną bierz z witryny wydawcy obsługiwanej przez HTTPS lub z podpisanego pliku SHA256SUMS, a nie z serwera lustrzanego, z którego pobrano plik.
W przypadku tekstu hash obejmuje bajty, a nie znaki. Znaki końca wiersza w stylu Windows (CRLF), znacznik kolejności bajtów (BOM) albo UTF-16 zamiast UTF-8 – każda z tych różnic daje zupełnie inny SHA-256. Użyj pola „Kodowanie tekstu” lub wejścia hex, aby zahashować dokładnie te same bajty, które hashował inny system.
Atak przedłużenia wiadomości i hasła
Podobnie jak MD5, SHA-1 i SHA-512, SHA-256 jest podatny na atak przedłużenia wiadomości (length extension): znając SHA-256(secret + message) i długość sekretu, atakujący może obliczyć prawidłowy hash tej wiadomości uzupełnionej o dopełnienie i wybrane przez siebie dane, choć samego sekretu nie zna. Aby podpisać lub uwierzytelnić dane kluczem, użyj HMAC-SHA256 z Generatora HMAC, zamiast hashować razem klucz i wiadomość.
Szybkość to także powód, dla którego zwykły SHA-256 nie nadaje się do przechowywania haseł: każdy, kto zdobędzie hashe, może sprawdzać kolejne próby tak szybko, jak jego karty graficzne obliczają SHA-256, a identyczne hasła dają identyczne hashe. Używaj Argon2id, scrypt, bcrypt lub PBKDF2-HMAC-SHA256 z dużą liczbą iteracji – wszystkie te algorytmy dodają sól.
SHA-256 w wierszu poleceń i w kodzie
$ printf 'abc' | sha256sum
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad -
sha256sum -c SHA256SUMS # Linux: sprawdzenie listy plików
shasum -a 256 file.iso # macOS
certutil -hashfile file.iso SHA256 # Windows
Get-FileHash file.iso # PowerShell (domyślnie SHA256)
# Python
hashlib.sha256(data).hexdigest()
// Node.js
crypto.createHash('sha256').update(data).digest('hex')
Wartość dla abc to wektor testowy ze standardu; wpisz abc powyżej, aby zobaczyć ten sam wynik. Tabela „Wszystkie algorytmy” pokazuje dla wprowadzonych danych także wartości SHA-384, SHA-512, SHA-1, MD5 i CRC.
Przykłady
| Wejście (UTF-8) | SHA-256 |
|---|---|
Hello, World! | dffd6021bb2bd5b0af676290809ec3a53191dd81c7f70a4b28688a362182986f |
Base64.is | 63f2f446bc11a1f96175c0f77bdac08ca1b184ba42c3a42c34ddcbce00b1b800 |
你好 | 670d9743542cae3ea7ebe36af56bd53648b0a1126162e78d81a32934a711302e |
Najczęściej zadawane pytania
Czy SHA-256 można odszyfrować?
Nie. SHA-256 to jednokierunkowa funkcja hashująca, a nie szyfrowanie. Internetowe „deszyfratory” jedynie wyszukują hashe w tabelach znanych danych wejściowych, więc znajdują popularne hasła i krótkie ciągi, ale nic długiego ani losowego.
Dlaczego mój SHA-256 nie zgadza się z opublikowaną sumą kontrolną?
Najczęściej pobrany plik jest niekompletny albo jest to inna wersja, ewentualnie zahashowano nazwę pliku zamiast samego pliku. Wczytaj sam plik przyciskiem „Otwórz plik”. Sprawdź też, czy obie wartości pochodzą z tego samego algorytmu: 128-znakowa wartość szesnastkowa pochodzi z 512-bitowego hasha, takiego jak SHA-512, a nie z SHA-256.
Jak uzyskać hash SHA-256 w Base64?
sha256-, choć częściej spotyka się sha384-) oraz nagłówek HTTP Content-Digest. Hex i Base64 zawierają te same 32 bajty; między tymi formatami można przechodzić za pomocą narzędzia Base64 na Hex.Czy SHA-256 to to samo co SHA-2?
SHA-2 to rodzina funkcji: SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224 i SHA-512/256. SHA-256 jest jej najpopularniejszym przedstawicielem. SHA-3 (FIPS 202) to odrębna konstrukcja oparta na Keccak, która daje inne wyniki.
Jak długi jest hash SHA-256?
=. Taką samą długość mają SHA3-256 i BLAKE2s; Identyfikator hashy wyświetla takie możliwe algorytmy dla nieznanego hasha.