Generator skrótów MD5 online - Darmowe narzędzie szyfrowania MD5
Generuj skróty MD5 natychmiastowo za pomocą naszego darmowego narzędzia online. Przetwarzanie po stronie klienta gwarantuje prywatność. Idealny do sprawdzania integralności danych i weryfikacji plików.
Generator skrótu MD5
Dokumentacja
Czym jest generator skrótu MD5?
Generator hashy MD5 to narzędzie, które zamienia dowolny fragment tekstu w kod o stałej długości, nazywany skrótem MD5. MD5 oznacza Message-Digest Algorithm 5, czyli funkcję skrótu opublikowaną w 1992. Podanie słowa, zdania lub całego pliku zawsze daje ten sam wynik o długości 32 znaków, a nawet niewielka zmiana danych wejściowych powoduje całkowicie inny wynik. To narzędzie wykonuje algorytm bezpośrednio w przeglądarce za pomocą JavaScriptu, więc wpisany tekst nigdy nie jest wysyłany na serwer.
Jak działa haszowanie MD5
MD5 jest funkcją jednokierunkową. Przyjmuje dane wejściowe o dowolnej długości i zwraca wynik o stałym rozmiarze, nazywany hashem lub skrótem. Określenie „jednokierunkowa” oznacza, że procesu nie można odwrócić: nie ma metody odtworzenia oryginalnego tekstu na podstawie samego hasha.
Algorytm przetwarza dane w następujących etapach:
- Wiadomość jest konwertowana na bajty i dopełniana tak, aby jej długość była wielokrotnością 512 bitów.
- Dołączane jest pole o długości 64 bitów, zawierające pierwotną długość wiadomości.
- Cztery liczby 32-bitowe otrzymują ustalone wartości początkowe.
- Dopełniona wiadomość jest dzielona na bloki o długości 512 bitów. Każdy blok przechodzi przez cztery rundy po 16 operacji, czyli przez 64 operacji na blok. Każda operacja łączy dane bloku z czterema bieżącymi liczbami za pomocą funkcji bitowych, dodawania i rotacji bitowej.
- Po przetworzeniu każdego bloku cztery liczby 32-bitowe są łączone i zapisywane jako cyfry szesnastkowe.
Wynik ma zawsze długość 128 bitów i jest przedstawiany za pomocą 32 znaków szesnastkowych (0-9 oraz a–f), ponieważ każdy bajt wyniku o długości 128 bitów jest zapisywany jako dwie cyfry szesnastkowe.
Funkcję skrótu uznaje się za bezpieczną, gdy ma trzy właściwości: te same dane wejściowe zawsze dają ten sam wynik, znalezienie danych wejściowych generujących wybrany hash jest praktycznie niewykonalne, a znalezienie dwóch różnych danych wejściowych generujących ten sam hash jest praktycznie niewykonalne. MD5 nadal ma pierwszą właściwość, ale dwie pozostałe zostały złamane, co opisano poniżej.
Przykład hasha MD5
Zahaszowanie słowa „hello” za pomocą MD5 daje:
1Input: hello
2Output: 5d41402abc4b2a76b9719d911017c592
3Zahaszowanie pustego ciągu również daje ustalony, niepusty wynik, ponieważ dopełnienie i pole długości nadal są przetwarzane przez algorytm:
1Input: (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3Zmiana jednego znaku, na przykład zapisanie pierwszej litery wielką literą w słowie „Hello”, daje całkowicie inny ciąg o długości 32 znaków. Zjawisko to nazywa się efektem lawinowym: niewielkie zmiany danych wejściowych powodują duże, nieprzewidywalne zmiany wyniku.
Jak używać tego generatora hashy MD5
- Wpisz tekst lub wklej go w polu wejściowym.
- Hash pojawia się automatycznie pod polem i jest aktualizowany wraz ze zmianą tekstu. Nie trzeba naciskać osobnego przycisku.
- Kliknij „Kopiuj”, aby skopiować hash o długości 32 znaków do schowka.
- Pod wynikiem pojawia się niewielki kolorowy pasek, generowany na podstawie części hasha, który służy jako szybka kontrola wzrokowa pozwalająca sprawdzić, czy dwa hashe się różnią.
Ponieważ obliczenia odbywają się w silniku JavaScriptu przeglądarki, po załadowaniu strona nie potrzebuje połączenia z internetem, a wpisany tekst nie jest nigdzie przesyłany.
Typowe zastosowania hashy MD5
- Sprawdzanie, czy pobrany plik nie został uszkodzony podczas przesyłania, przez porównanie jego hasha z opublikowaną wartością.
- Tworzenie kluczy wyszukiwania lub identyfikatorów pamięci podręcznej dla danych, ponieważ hash jest krótkim reprezentantem o stałym rozmiarze, zastępującym dłuższą wartość.
- Wykrywanie duplikatów plików przez porównywanie hashy zamiast pełnej zawartości plików.
- Systemy kontroli wersji i systemy budowania, które używają hashy do wykrywania, czy plik uległ zmianie.
MD5 nie nadaje się do przechowywania haseł, generowania podpisów cyfrowych ani do żadnego innego zastosowania, w którym atakujący może próbować sfałszować lub odwrócić hash. Przyczyny omówiono w następnej sekcji.
Historia MD5
Ronald Rivest, amerykański kryptograf, zaprojektował MD5 w 1991 roku jako następcę swojego wcześniejszego algorytmu MD4. Internet Engineering Task Force opublikowała specyfikację jako RFC 1321 w (3360 cm) 1992 roku, a MD5 stał się szeroko stosowany do sum kontrolnych, a przez pewien czas także do celów bezpieczeństwa.
Słabości wewnętrznej struktury MD5 zauważono już w 1996 roku. W 2004 roku zespół kierowany przez kryptografkę Xiaoyun Wang pokazał praktyczną metodę tworzenia dwóch różnych danych wejściowych generujących ten sam hash MD5 — wadę nazywaną kolizją. W 2008 roku odrębna grupa badaczy wykorzystała atak kolizyjny do sfałszowania certyfikatu bezpieczeństwa nieuczciwej witryny, który ówczesne przeglądarki zaakceptowałyby jako autentyczny. Wyniki te skłoniły instytucje opracowujące standardy bezpieczeństwa do zaprzestania zalecania MD5 w zastosowaniach, w których znaczenie ma odporność na fałszerstwa.
Słabości bezpieczeństwa MD5
- Odporność na kolizje została złamana. Skonstruowanie dwóch różnych danych wejściowych o tym samym hashu MD5 jest wykonalne obliczeniowo.
- Szybkość działania jest wadą w przypadku haseł. MD5 zaprojektowano tak, aby obliczał wynik szybko, co jest przydatne w przypadku sum kontrolnych, ale niekorzystne przy przechowywaniu haseł, ponieważ pozwala atakującemu testować miliardy haseł na sekundę na zwykłym sprzęcie.
- Nie jest publicznie znany żaden atak na obraz wstępny szybszy niż metoda brutalnej siły, więc odzyskanie dokładnych danych wejściowych na podstawie hasha nadal jest trudne, ale samo to nie czyni MD5 odpowiednim do zastosowań wymagających bezpieczeństwa.
Z powodu tych problemów MD5 nie nadaje się do przechowywania haseł, podpisów cyfrowych, certyfikatów SSL/TLS ani żadnej aplikacji, w której ktoś mógłby celowo próbować wygenerować pasujący hash.
Alternatywy dla MD5
- SHA-256, należący do rodziny SHA-2, generuje hash o długości 256 bitów i nie jest znany żaden praktyczny atak kolizyjny na ten algorytm.
- SHA-3, nowszy standard oparty na innej konstrukcji wewnętrznej niż SHA-2.
- BLAKE2, szybka funkcja skrótu o poziomie bezpieczeństwa uznawanym za porównywalny z SHA-3.
- Bcrypt, scrypt lub Argon2, zaprojektowane specjalnie do przechowywania haseł, ponieważ są celowo powolne i odporne na zgadywanie przyspieszane sprzętowo.
Często zadawane pytania
Do czego obecnie używa się MD5?
Głównie do zadań niezwiązanych z bezpieczeństwem, takich jak sprawdzanie integralności plików, usuwanie duplikatów i tworzenie kluczy pamięci podręcznej. Nie jest już zalecany do haseł, podpisów ani certyfikatów.
Czy można odwrócić hash MD5, aby uzyskać oryginalny tekst?
Nie. MD5 jest funkcją jednokierunkową, więc nie istnieje obliczenie, które przekształci hash z powrotem w dane wejściowe. Atakujący może jednak zgadywać prawdopodobne dane wejściowe i haszować każde z nich w celu sprawdzenia zgodności, dlatego MD5 jest niebezpieczny w przypadku haseł.
Dlaczego MD5 nie nadaje się do przechowywania haseł?
Ponieważ oblicza wynik bardzo szybko, atakujący dysponujący nowoczesnym sprzętem może testować ogromną liczbę haseł na sekundę. Specjalnie przeznaczone do tego algorytmy, takie jak bcrypt, scrypt lub Argon2, są celowo powolne, aby utrudnić takie ataki.
Jak długi jest skrót MD5?
Zawsze ma 128 bitów i jest przedstawiana jako 32 znaków szesnastkowych, niezależnie od długości tekstu wejściowego.
Czy dwa różne dane wejściowe mogą wygenerować ten sam hash MD5?
Tak. Nazywa się to kolizją, a badacze pokazali praktyczne metody konstruowania takich par od 2004 roku. Jest to główny powód, dla którego MD5 nie jest już uznawany za bezpieczny.
Czy to narzędzie wysyła wpisany tekst na serwer?
Nie. Hash jest obliczany przez JavaScript działający w przeglądarce, a dane wejściowe nigdy nie opuszczają urządzenia.
Jaka jest różnica między MD5 a SHA-256?
Obie są funkcjami skrótu, ale SHA-256 generuje dłuższy hash o długości 256 bitów i nie jest znany żaden praktyczny atak kolizyjny na ten algorytm, podczas gdy odporność MD5 na kolizje została złamana. SHA-256 jest lepszym wyborem, gdy bezpieczeństwo ma znaczenie.
Piśmiennictwo
- Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, Internet Engineering Task Force. https://tools.ietf.org/html/rfc1321
- Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, Internet Engineering Task Force. https://tools.ietf.org/html/rfc6151
- Wang, X., Yu, H. (2005). „How to Break MD5 and Other Hash Functions.” Advances in Cryptology – EUROCRYPT 2005.
- Sotirov, A. i in. (2008). „MD5 Considered Harmful Today: Creating a Rogue CA Certificate.” Referat przedstawiony na 25. Kongresie Chaos Communication Congress.
- National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf