Przejdź do treści głównej
FreeOnlineTools Go
Polski
Wyjaśnienie

Algorytmy Hashujące Wyjaśnione: MD5, SHA-1, SHA-256, SHA-512

Autor: FreeOnlineTools Team · Zaktualizowano 2026-08-28

Szybka odpowiedź

MD5 i SHA-1 są złamane i nie wolno ich używać do celów wrażliwych na bezpieczeństwo. SHA-256 to obecny default dla sprawdzania integralności i podpisów. SHA-512 jest szybszy na 64-bit CPU. Użyj naszego Hash Generator aby obliczyć je w przeglądarce.

Wstęp

Kryptograficzna funkcja hash przyjmuje input dowolnego rozmiaru i produkuje digest o stałym rozmiarze, który jest deterministyczny, szybki do obliczenia, nieodwracalny, collision-resistant i avalanche-sensitive (zmiana jednego bitu zmienia roughly połowę bitów output). MD5 (128-bit), SHA-1 (160-bit), SHA-256 (256-bit) i SHA-512 (512-bit) to cztery najpowszechniejsze funkcje hash, ale ich właściwości bezpieczeństwa różnią się dramatycznie.

Krok po kroku

  1. Zrozumienie właściwości funkcji skrótu

    Dobry skrót kryptograficzny jest deterministyczny (to samo wejście zawsze daje ten sam wynik), wynik o stałym rozmiarze, szybki do obliczenia, niemożliwy do odwrócenia (opór obrazu wstępnego), niemożliwy do znalezienia dwóch wejść o tym samym wyjściu (odporność na kolizje) i lawinowy (niewielka zmiana wejścia odwraca ~ 50% bitów wyjściowych).

  2. Poznaj rozmiary podsumowań

    MD5 daje 128 bitów (32 znaki szesnastkowe). SHA-1 generuje 160 bitów (40 znaków szesnastkowych). SHA-256 daje 256 bitów (64 znaki szesnastkowe). SHA-512 generuje 512 bitów (128 znaków szesnastkowych). Dłuższe podsumowania zmniejszają prawdopodobieństwo kolizji, ale zwiększają rozmiar pamięci.

  3. Dowiedz się, dlaczego MD5 i SHA-1 są uszkodzone

    Badacze odkryli praktyczne ataki kolizyjne na MD5 (2004) i SHA-1 (2017, atak SHAttered). Kolizje umożliwiają atakującemu utworzenie dwóch różnych danych wejściowych przy użyciu tego samego skrótu, co może łamać podpisy cyfrowe i urzędy certyfikacji. Żadnego z nich nie należy używać ze względów bezpieczeństwa.

  4. Wybierz odpowiedni algorytm

    W przypadku sprawdzania integralności plików, gdzie szybkość jest ważniejsza niż bezpieczeństwo, nadal powszechne są MD5 lub SHA-1. W przypadku zastosowań wrażliwych na bezpieczeństwo (hasła, podpisy, certyfikaty, łańcuch bloków) użyj SHA-256 lub SHA-512. Do przechowywania haseł używaj powolnego KDF, takiego jak bcrypt, scrypt lub Argon2 — nigdy surowego SHA-256.

  5. Oblicz i zweryfikuj skróty

    Użyj generatora skrótów, aby zahaszować tekst dowolnym algorytmem, lub skrótu pliku, aby obliczyć skrót pliku lokalnego. Porównaj wynikowy skrót ze znaną, dobrą wartością, aby zweryfikować integralność — różnica jednego bitu oznacza, że ​​plik został uszkodzony lub zmodyfikowany.

Przykłady

MD5 „cześć” (128 bitów, 32 znaki szesnastkowe)

Wejście: hello

Wyjście: 5d41402abc4b2a76b9719d911017c592

SHA-256 „cześć” (256 bitów, 64 znaki szesnastkowe)

Wejście: hello

Wyjście: 2cf24dba5fb0d30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Efekt lawinowy — zmiana jednej postaci

Wejście: cześć vs cześć

Wyjście: SHA-256('hello') zaczyna się od 2cf24dba... podczas gdy SHA-256('Hello') zaczyna od 185f8db3... —zupełnie inaczej pomimo jednobitowej zmiany wejścia

Typowe problemy

  • Używanie MD5 lub SHA-1 do mieszania haseł: oba są szybkie i łamane, dzięki czemu ataki brute-force i Rainbow-table są banalne. Zamiast tego użyj bcrypt, scrypt lub Argon2.
  • Mylenie mieszania z szyfrowaniem: mieszanie jest jednokierunkowe i nieodwracalne; szyfrowanie jest dwukierunkowe. Nie można „odszyfrować” skrótu — można jedynie porównywać skróty.
  • Ignorowanie ataków polegających na wydłużaniu długości: MD5, SHA-1, SHA-256 i SHA-512 są podatne na ataki polegające na wydłużaniu długości, gdy są używane jako komputery MAC. Do uwierzytelniania wiadomości użyj HMAC-SHA256.
  • Porównywanie skrótów za pomocą == zamiast porównania w stałym czasie: wycieki czasu pozwalają atakującym odzyskać skróty bajt po bajcie. Użyj porównania w czasie stałym w kodzie zabezpieczającym.

Porady

  • Domyślnie SHA-256 dla nowych systemów — jest szybki, szeroko obsługiwany i nie ma praktycznego ataku kolizyjnego od 2026 r.
  • Do przechowywania haseł użyj bcrypt ze współczynnikiem pracy 12+ (lub Argon2id z 64 MB pamięci) — nigdy surowego SHA-256, który jest zbyt szybki w stosunku do procesorów graficznych.
  • Podczas sprawdzania pobrań plików porównaj nazwę algorytmu i skrót — skrót SHA-1 nie ma znaczenia, jeśli wydawca miał na myśli tylko SHA-256.
  • Skorzystaj z naszego narzędzia File Hash, aby obliczyć SHA-256 dużych plików lokalnie bez przesyłania — przesyła ono strumieniowo plik przez kryptowalutę internetową API.

Powiązane narzędzia

Powiązane przewodniki

Referencje