Generator skrótów MD5
Wpisz dowolny tekst i natychmiast otrzymaj jego 128-bitowy skrót MD5 w postaci 32-znakowego ciągu szesnastkowego. Przydatny do sum kontrolnych, weryfikacji plików i sprawdzania integralności danych.
Wygeneruj skrót MD5
Wzór funkcji MD5
Gdzie:
- \(M\) — komunikat wejściowy, najpierw zamieniony na bajty w kodowaniu UTF-8
- \(F, G, H, I\) — cztery funkcje logiczne pomocnicze używane w czterech rundach MD5
- \(\land, \lor, \lnot, \oplus\) — bitowe operacje AND, OR, NOT oraz XOR
Komunikat jest wyrównywany (uzupełniany), aby jego długość była wielokrotnością 512 bitów, a na końcu dodawana jest oryginalna długość w bitach. Algorytm przetwarza następnie każdy blok 512-bitowy w 64 krokach, mieszając dane bloku z czterema 32-bitowymi rejestrami zainicjalizowanymi stałymi \(A = \texttt{67452301}\), \(B = \texttt{efcdab89}\), \(C = \texttt{98badcfe}\), \(D = \texttt{10325476}\). Końcowe wartości czterech rejestrów, zapisane w kolejności little-endian, tworzą 128-bitowy skrót.
Skrót MD5 – przykład obliczenia
Przykład: tekst Hello world! jest haszowany funkcją MD5.
\[ \text{MD5}(\texttt{Hello world!}) = \texttt{86fb269d190d2c85f6e04e8f79d3d8a5} \]
Wynik: 32-znakowy szesnastkowy skrót MD5 86fb269d190d2c85f6e04e8f79d3d8a5.
Jak korzystać z generatora skrótów MD5
- Wpisz lub wklej swój tekst w pole Tekst do zahaszowania. Możesz wprowadzić dowolne znaki, w tym znaki nowej linii i alfabety niełacińskie.
- Kalkulator przetwarza tekst w Twojej przeglądarce i wyświetla wynik w polu Hash MD5 w sekcji Wynik haszowania.
- Skopiuj 32-znakowy ciąg szesnastkowy i użyj go wszędzie tam, gdzie potrzebujesz skrótu — jako sumy kontrolnej, klucza wyszukiwania lub wartości porównawczej.
- Aby zahaszować inny tekst, wystarczy zastąpić dane wejściowe; skrót aktualizuje się automatycznie.
Czym jest skrót MD5?
MD5 (Message-Digest Algorithm 5) to kryptograficzna funkcja skrótu zaprojektowana przez Ronalda Rivesta w 1991 roku i opisana w RFC 1321. Przyjmuje dane wejściowe o dowolnej długości i tworzy stały, 128-bitowy (16-bajtowy) odcisk palca, zwykle zapisany jako 32 znaki szesnastkowe. Ten sam tekst zawsze daje ten sam skrót, natomiast nawet drobna zmiana w danych wejściowych — dodanie spacji, zmiana wielkości litery — daje zupełnie inny wynik.
Kluczową cechą funkcji skrótu jest to, że działa ona tylko w jedną stronę: obliczenie skrótu z tekstu jest szybkie, ale odtworzenie tekstu ze skrótu jest obliczeniowo niewykonalne. Dzięki temu MD5 przydaje się do weryfikacji integralności danych: jeśli dwa teksty (lub pliki) mają ten sam skrót MD5, to niemal na pewno są identyczne, a jeśli skróty się różnią, teksty są z pewnością różne.
Typowe zastosowania obejmują sumy kontrolne pobieranych plików, wykrywanie duplikatów, klucze pamięci podręcznej oraz niekrytyczne odciski palców rekordów w bazach danych. Ponieważ wynik jest krótki i ma stałą długość, MD5 sprawdza się też jako indeks lub klucz wyszukiwania. Jeśli chcesz przyjrzeć się bajtom za skrótem, cyfry to po prostu wartości szesnastkowe — ten sam format obsługuje nasz konwerter liczb szesnastkowych.
Ograniczenia i praktyczne wskazówki
- Nie nadaje się do haseł. MD5 jest zbyt szybki i zbyt dobrze przebadany, aby nadawał się do przechowywania haseł. Nowoczesne haszowanie haseł wymaga celowo wolnych algorytmów, takich jak bcrypt, scrypt czy Argon2, z użyciem soli.
- Istnieją ataki kolizyjne. Badacze pokazali, jak skonstruować dwa różne dane wejściowe o tym samym skrócie MD5. Do podpisów i certyfikatów krytycznych dla bezpieczeństwa używaj zamiast tego SHA-256 lub mocniejszych funkcji.
- W sam raz do sum kontrolnych i deduplikacji. Do sprawdzania przypadkowych uszkodzeń, wykrywania duplikatów i tworzenia niekrytycznych odcisków danych MD5 pozostaje w pełni praktyczny i szeroko wspierany.
- Kodowanie wejścia ma znaczenie. Ten kalkulator haszuje tekst w kodowaniu UTF-8. Ten sam tekst zakodowany inaczej (na przykład jako Base64 albo ze znakami URL zakodowanymi przez Koder URL) da inny skrót.
- Końcowe białe znaki się liczą. Spacja lub znak nowej linii na końcu całkowicie zmienia skrót, więc uważaj przy wklejaniu tekstu; Licznik znaków pomoże Ci zweryfikować dokładną długość danych wejściowych.
- Wszystko działa lokalnie. Haszowanie odbywa się w Twojej przeglądarce; Twój tekst nigdy nie jest wysyłany na serwer.
Najczęściej zadawane pytania
Jak obliczyć skrót MD5 z wiersza poleceń?
W systemach Linux i macOS uruchom odpowiednio md5sum nazwa_pliku lub md5 -s "twój tekst". W Windows PowerShell użyj Get-FileHash -Algorithm MD5 nazwa_pliku. Wynikiem jest ten sam 32-znakowy ciąg szesnastkowy, który generuje ten kalkulator, więc możesz porównać wyniki. Pamiętaj, że narzędzia wiersza poleceń haszują surowe bajty pliku, więc pliki tekstowe o różnych kodowaniach lub końcach wierszy (CRLF kontra LF) dadzą różne skróty.
Jaki jest skrót MD5 pustego ciągu znaków?
Pusty ciąg jest poprawnym danym wejściowym dla MD5, a jego skrót to dobrze znana wartość d41d8cd98f00b204e9800998ecf8427e. Ten kalkulator wymaga niepustego wejścia, ale jeśli kiedykolwiek zobaczysz ten skrót w bazie danych czy pliku sum kontrolnych, niemal zawsze oznacza to, że dane wejściowe były puste — na przykład plik zerowej długości. To nie jest kod błędu; to po prostu MD5 z niczego.
Czy skrót MD5 można odwrócić lub odszyfrować?
Nie. MD5 to funkcja jednokierunkowa: nie istnieje algorytm, który przeprowadziłby 128-bitowy skrót z powrotem na oryginalne dane wejściowe. Strony nazywane „odszyfrowywaniem MD5" w rzeczywistości korzystają z ogromnych, wstępnie obliczonych tabel (tęczowych tabel) popularnych danych wejściowych. Tekstu, którego nie ma w takiej bazie, nie da się odzyskać. Ponadto, ponieważ nieskończenie wiele danych wejściowych daje tę samą wartość skrótu, nawet pasujący kandydat może nie być Twoim oryginalnym tekstem.
Dlaczego ten sam tekst daje inny skrót MD5 w innym narzędziu?
Najczęstsze przyczyny to kodowanie i niewidoczne znaki. Ten kalkulator haszuje bajty UTF-8; narzędzie używające Latin-1, UTF-16 lub danych wejściowych Base64 da inny skrót. Końcowe spacje, znaki nowej linii albo końce wierszy Windows (CRLF) dodane podczas kopiowania i wklejania również całkowicie zmieniają wynik. Porównaj dokładną długość bajtową danych wejściowych w obu narzędziach — jeśli liczba bajtów się różni, skróty muszą się różnić.
Czy MD5 w 2025 roku jest jeszcze bezpieczny?
To zależy od zastosowania. MD5 nie jest bezpieczny do przechowywania haseł, podpisów cyfrowych, certyfikatów TLS ani czegokolwiek, co atakujący może celowo manipulować — ataki kolizyjne są praktyczne i szybkie. Pozostaje akceptowalny do zadań bez przeciwnika: sprawdzania plików pod kątem przypadkowych uszkodzeń, deduplikacji danych i generowania kluczy pamięci podręcznej. Do jakiegokolwiek zastosowania wrażliwego na bezpieczeństwo wybierz zamiast tego SHA-256 lub SHA-3.
Jakie jest prawdopodobieństwo przypadkowej kolizji MD5?
Przypadkowe kolizje są praktycznie niemożliwe. Przy 128-bitowym wyniku trzeba by zahaszować około 264 (mniej więcej 18 trylionów) losowych danych wejściowych, zanim kolizja stanie się prawdopodobna — to znacznie ponad codzienne objętości danych. Kolizje trafiające na nagłówki to celowo skonstruowane pary wykorzystujące matematyczne słabości MD5, a nie losowe. Dlatego przy wykrywaniu przypadkowych uszkodzeń plików lub duplikatów pasujący skrót MD5 to wiarygodny sygnał tożsamości.
Jaka jest różnica między MD5, SHA-1 i SHA-256?
Wszystkie trzy to kryptograficzne funkcje skrótu, różniące się głównie długością wyniku i bezpieczeństwem. MD5 daje 128 bitów, SHA-1 — 160 bitów, a SHA-256 — 256 bitów. Zarówno MD5, jak i SHA-1 są uznawane za kryptograficznie złamane do zastosowań z przeciwnikiem; SHA-256 jest obecnie standardem w zastosowaniach bezpieczeństwa. Do prostych sum kontrolnych krótszy, 32-znakowy wynik MD5 jest bardziej zwarty i szybszy w porównywaniu, dlatego wciąż jest szeroko używany do celów niezwiązanych z bezpieczeństwem.