Generator MD5

MD5 tworzy 128-bitowy skrót (32 znaki szesnastkowe) z dowolnych danych wejściowych – tekstu, pliku lub strumienia. Choć od 2004 roku jest złamany do celów kryptograficznych, wciąż pozostaje standardem szybkich kontroli integralności (weryfikacja pobranych pakietów, odciski palców do deduplikacji, nazywanie obiektów blob w Git w niektórych przypadkach). Wklej tekst lub upuść plik, a generator lokalnie zwróci szesnastkowy skrót, niczego nie wysyłając.

Jak wygenerować skrót MD5

  1. 1

    Wybierz dane wejściowe

    Pole tekstowe na dowolny ciąg znaków lub wybór pliku o dowolnym rozmiarze do około 2 GB.

  2. 2

    Narzędzie oblicza MD5 lokalnie

    Pliki są przesyłane strumieniowo w blokach, aby duże pliki nie zajmowały zbyt dużo pamięci.

  3. 3

    Odczytaj skrót szesnastkowy

    32 znaki szesnastkowe – kanoniczna reprezentacja MD5.

  4. 4

    Skopiuj lub porównaj

    Porównaj z oczekiwanym skrótem (np. z MD5 opublikowanym przez autora pakietu) lub skopiuj do własnych zapisów.

Czym MD5 jest, a czym nie jest

  • Deterministyczny. Te same dane wejściowe zawsze dają ten sam 128-bitowy wynik.
  • Stała długość. Dowolny rozmiar danych wejściowych – jeden bajt czy gigabajt – daje 32 znaki szesnastkowe.
  • Jednokierunkowy. Mając skrót MD5, nie da się go odwrócić, aby odzyskać dane wejściowe (poza bardzo małymi danymi, dla których istnieją tablice tęczowe).
  • ZŁAMANY jako skrót kryptograficzny. Kolizje można obliczyć w prosty sposób. NIE używaj MD5 do:
    • Przechowywania haseł (użyj bcrypt, scrypt, Argon2).
    • Podpisów cyfrowych (użyj SHA-256 lub SHA-3).
    • Podpisywania certyfikatów TLS (odrzucane przez nowoczesne przeglądarki).
    • Jakichkolwiek istotnych dla bezpieczeństwa deklaracji integralności, które napastnik mógłby wykorzystać.

Gdzie MD5 nadal się sprawdza

  • Kontrole integralności bez przeciwnika. Potwierdzenie, że plik nie uległ uszkodzeniu podczas przesyłania.
  • Deduplikacja. Odciski palców identycznych obiektów blob w systemach magazynowania.
  • Generowanie ETagów dla rzadko zmienianych zasobów statycznych.
  • Klucze pamięci podręcznej i haszowanie adresowane treścią.

Przykłady praktyczne

Tekst wejściowy Skrót MD5
(pusty ciąg) d41d8cd98f00b204e9800998ecf8427e
a 0cc175b9c0f1b6a831c399e269772661
abc 900150983cd24fb0d6963f7d28e17f72
The quick brown fox jumps over the lazy dog 9e107d9d372bb6826bd81d3542a419d6
The quick brown fox jumps over the lazy dog. (kropka na końcu) e4d909c290d0fb1ca068ffaddf22cbd0

Zwróć uwagę, jak jeden znak (kropka na końcu) całkowicie zmienia skrót – to tzw. efekt lawinowy.

MD5 a rodzina SHA

Funkcja Rozmiar wyniku Złamany kolizjami? Typowe zastosowanie dziś
MD5 128 bitów Tak (2004) Integralność, deduplikacja, ETagi
SHA-1 160 bitów Tak (2017) Przestarzały; unikaj w nowych projektach
SHA-256 256 bitów Nie TLS, commity, ogólna kryptografia
SHA-3 224–512 bitów Nie Nowoczesna alternatywa dla SHA-2
BLAKE3 256 bitów Nie Szybkie zastępstwo SHA-2

Najczęściej zadawane pytania

Nie. MD5 łatwo złamać metodą siłową na nowoczesnych kartach graficznych i jest złamany od 2004 roku. Użyj funkcji haszującej hasła: Argon2, scrypt lub bcrypt.

Dla zwykłej integralności (czy pobieranie się zakończyło) tak. Dla integralności wobec ataku (czy ktoś podmienił plik na złośliwą wersję) nie – użyj SHA-256.

Nie. Haszowanie odbywa się w Twojej przeglądarce za pomocą WebCrypto i tablic typowanych. Pliki nigdy nie opuszczają Twojego urządzenia, co jest istotne przy haszowaniu danych prywatnych lub objętych umową o poufności (NDA).

Nowoczesne przeglądarki bez problemu obsługują około 2 GB danych przesyłanych strumieniowo. Bardzo duże pliki (dziesiątki GB) lepiej haszować narzędziem wiersza poleceń, takim jak md5sum lub openssl dgst -md5.

Specyfikacja nie narzuca wielkości liter. Większość narzędzi uniksowych zwraca małe litery; niektóre narzędzia Windows – wielkie. Przy porównywaniu ujednolić wielkość liter po obu stronach.

Powiązane narzędzia

Narzędzie jest dostępne w innych językach