Jak używać
- Wpisz lub wklej tekst, ustaw „Wejście jako” na „Hex”, aby podać bajty szesnastkowo, albo kliknij „Otwórz plik”, aby obliczyć hash dokładnie tych bajtów, z których składa się plik.
- Pozostaw „Kodowanie tekstu” na UTF-8, chyba że oryginalny hash obliczono z tekstu w innym zestawie znaków.
- W polu „Wyjście jako” wybierz „hex (małe litery)”, „HEX (wielkie litery)” lub „Base64”.
- Aby sprawdzić pobrany plik, wklej opublikowaną sumę MD5 do pola „Porównaj z” i sprawdź, czy pojawi się komunikat „Zgadza się”.
Czym jest MD5?
MD5 (Message-Digest Algorithm 5) został zaprojektowany przez Ronalda Rivesta i opublikowany w 1992 roku jako RFC 1321. Odczytuje dane wejściowe w blokach 512-bitowych i daje 128-bitowy hash, zwykle zapisywany jako 32 znaki szesnastkowe lub 24 znaki Base64. Te same dane zawsze dają ten sam hash, a zmiana choćby jednego bitu wejścia zmienia mniej więcej połowę bitów wyniku.
Hashowanie działa w jedną stronę: nie ma żadnego klucza ani sposobu, by „odszyfrować” hash MD5 z powrotem do danych wejściowych. Serwisy, które twierdzą, że potrafią odwrócić MD5, wyszukują hash w ogromnych tabelach zahashowanych słów i haseł z wycieków. Dlatego MD5 krótkiego hasła bez soli często udaje się znaleźć w kilka sekund.
Czy MD5 jest nadal bezpieczny?
Nie, jeśli w grę wchodzi atakujący. Xiaoyun Wang i jej współpracownicy opublikowali w 2004 roku praktyczne kolizje: dwa różne ciągi danych o tym samym MD5. Później pojawiły się kolizje z wybranym prefiksem: w 2008 roku badacze użyli takiej kolizji do utworzenia fałszywego certyfikatu urzędu certyfikacji (CA), a w 2012 roku złośliwe oprogramowanie Flame wykorzystało ją do podrobienia certyfikatu, dzięki któremu jego kod wyglądał na podpisany przez Microsoft. Dziś zwykły laptop znajduje kolizję MD5 w kilka sekund, a RFC 6151 stwierdza, że MD5 nie jest już dopuszczalny tam, gdzie wymagana jest odporność na kolizje, na przykład w podpisach cyfrowych.
MD5 nadal dobrze sprawdza się jako suma kontrolna chroniąca przed przypadkowym uszkodzeniem, takim jak niepełne pobranie pliku czy przekłamany bit na dysku, a także jako klucz pamięci podręcznej lub do deduplikacji zaufanych danych. Jeśli plik lub jego suma kontrolna mogą pochodzić od atakującego, użyj zamiast niego SHA-256.
Hex, Base64 i niezgodne hashe
MD5 zapisuje się zwykle w postaci szesnastkowej – właśnie tak wypisuje go md5sum. Niektóre protokoły przesyłają jednak surowe 16 bajtów w Base64, na przykład nagłówek HTTP Content-MD5 używany przez API usług przechowywania danych w chmurze, takich jak Amazon S3. Ustaw „Wyjście jako” na „Base64” albo przekonwertuj istniejącą wartość narzędziem Hex na Base64.
Jeśli otrzymany MD5 różni się od wyniku innego narzędzia, różnią się bajty wejściowe. Najczęstsze przyczyny to końcowy znak nowego wiersza, znaki końca wiersza w stylu Windows albo inne kodowanie tekstu: „café” zajmuje 5 bajtów w UTF-8, ale tylko 4 bajty w ISO-8859-1, więc oba hashe nie mają ze sobą nic wspólnego.
$ echo "hello" | md5sum # hash ciągu "hello\n"
b1946ac92492d2347c6235b4d2611184 -
$ printf 'hello' | md5sum # hash ciągu "hello"
5d41402abc4b2a76b9719d911017c592 -
MD5 w wierszu poleceń i w kodzie
md5sum file.iso # Linux
md5 file.iso # macOS
certutil -hashfile file.iso MD5 # Windows
Get-FileHash file.iso -Algorithm MD5 # PowerShell
# Python
import hashlib
hashlib.md5('hello'.encode('utf-8')).hexdigest()
// Node.js
require('crypto').createHash('md5').update('hello', 'utf8').digest('hex')
Wbudowany w przeglądarki interfejs Web Crypto API nie obsługuje MD5, dlatego ta strona oblicza go w JavaScripcie bezpośrednio na urządzeniu; nic nie jest wysyłane. Tabela „Wszystkie algorytmy” pod wynikiem pokazuje dla tych samych danych także SHA-1, SHA-256, SHA-384, SHA-512, CRC-32 i CRC-32C.
Przykłady
| Wejście (UTF-8) | MD5 |
|---|---|
Hello, World! | 65a8e27d8879283831b664bd8b7f0ad4 |
Base64.is | 2e3c0e8b828164a8db7f62146ca87e14 |
你好 | 7eca689f0d3389d9dea66ae112e5cfd7 |
Najczęściej zadawane pytania
Czy hash MD5 można odszyfrować?
Czy MD5 wystarczy do sprawdzenia pobranego pliku?
Niezawodnie wykrywa przypadkowe uszkodzenia. Ponieważ jednak kolizje są tanie, ktoś, kto przygotuje plik z wyprzedzeniem, może utworzyć drugi, inny plik o tym samym MD5. W przypadku plików istotnych dla bezpieczeństwa sprawdź hash SHA-256 pochodzący z zaufanego źródła albo podpis cyfrowy.
Jak długi jest hash MD5?
==. 32-znakowy ciąg szesnastkowy może też być hashem MD4 lub NTLM; Identyfikator hashy wyświetla wszystkie możliwe algorytmy.Czy można obliczyć MD5 dużego pliku?
md5sum lub certutil.