Miklix

Kalkulator kodu skrótu MD4

Opublikowano: 16 lutego 2025 22:53:08 UTC
Ostatnia aktualizacja: 12 stycznia 2026 09:07:40 UTC

Kalkulator kodu skrótu wykorzystujący funkcję skrótu Message Digest 4 (MD4) do obliczenia kodu skrótu na podstawie wprowadzonego tekstu lub przesłanego pliku.

Ta strona została przetłumaczona maszynowo z języka angielskiego, aby była dostępna dla jak największej liczby osób. Niestety, tłumaczenie maszynowe nie jest jeszcze dopracowaną technologią, więc mogą wystąpić błędy. Jeśli wolisz, możesz wyświetlić oryginalną angielską wersję tutaj:

MD4 Hash Code Calculator

MD4 (Message Digest 4) to kryptograficzna funkcja skrótu opracowana przez Ronalda Rivesta w 1990 roku. Generuje stałą, 128-bitową (16-bajtową) wartość skrótu na podstawie danych wejściowych o dowolnej długości. MD4 jest obecnie uznawany za kryptograficznie niesprawny ze względu na luki w zabezpieczeniach, które umożliwiają ataki kolizyjne (znalezienie dwóch różnych danych wejściowych generujących ten sam skrót), dlatego nie powinien być stosowany przy projektowaniu nowych systemów. Został on uwzględniony w tym artykule na wypadek konieczności wygenerowania wstecznie kompatybilnego kodu skrótu.

Pełne ujawnienie: nie napisałem konkretnej implementacji funkcji hash używanej na tej stronie. Jest to standardowa funkcja dołączona do języka programowania PHP. Stworzyłem jedynie interfejs sieciowy, aby udostępnić go tutaj publicznie dla wygody.


Obliczanie nowego kodu skrótu

Dane przesłane lub pliki przesłane za pośrednictwem tego formularza będą przechowywane na serwerze tylko tak długo, jak będzie to konieczne do wygenerowania żądanego kodu skrótu. Zostaną one usunięte bezpośrednio przed zwróceniem wyniku do przeglądarki użytkownika.

Dane wejściowe:



Przesłany tekst jest zakodowany w UTF-8. Ponieważ funkcje skrótu działają na danych binarnych, wynik będzie inny niż w przypadku tekstu w innym kodowaniu. Jeśli chcesz obliczyć skrót tekstu w określonym kodowaniu, powinieneś przesłać plik.



O algorytmie skrótu MD4

Nie jestem matematykiem, więc postaram się wyjaśnić tę funkcję skrótu w sposób zrozumiały dla innych, niebędących matematykami ;-) Jeśli wolisz bardziej matematyczne wyjaśnienia, znajdziesz je na wielu innych stronach internetowych.

No dobrze, wyobraź sobie MD4 jako specjalną niszczarkę do papieru. Ale zamiast niszczyć papier, „niszczy” ona dowolną wiadomość (np. list, hasło czy książkę) do małego paragonu o stałym rozmiarze. Niezależnie od rozmiaru wiadomości, ta niszczarka zawsze generuje maleńki paragon o długości dokładnie 16 bajtów (128 bitów), czyli 32 znaków w systemie szesnastkowym.

Aby poprawnie zniszczyć wiadomość, należy wykonać cztery kroki:

Krok 1: Przygotowanie wiadomości

  • Przed zniszczeniem należy dopasować papier tak, aby idealnie pasował do niszczarki.
  • Jeśli Twoja wiadomość jest za krótka, możesz dodać trochę wolnego miejsca (np. rysunki lub wypełniacz), aby papier zmieścił się idealnie.
  • Jeśli tekst jest za długi, należy podzielić go na kilka stron o tym samym rozmiarze.

Krok 2: Dodawanie tajnego stempla

  • Po dostosowaniu wiadomości należy na jej końcu dodać tajny stempel, który będzie informował o długości oryginalnej wiadomości.
  • Pomaga to niszczarce zachować oryginalny rozmiar wiadomości, bez względu na ilość dodanego wypełnienia.

Krok 3: Proces niszczenia (3 rundy magii)

  • Teraz wiadomość trafia do niszczarki.
  • Niszczarka ma 4 koła zębate (A, B, C i D), które obracają się razem według specjalnego wzoru.
  • Koła zębate przechodzą przez 3 rundy wirowania, podczas których: mieszają słowa, odwracają niektóre części do góry nogami, przekręcają je jak kostkę Rubika, łączą ze sobą różne elementy.
  • Każda kolejna runda sprawia, że wiadomość wygląda coraz bardziej jak chaotyczny bałagan, którego nie sposób rozpoznać.

Krok 4: Ostateczny odbiór

  • Po całym tym kręceniu, obracaniu i rozbijaniu niszczarka wypluwa paragon — krótki ciąg cyfr i liter (hasz).
  • Ten paragon ma zawsze taką samą długość, bez względu na to, czy zniszczysz pojedyncze słowo czy całą książkę!

Niestety, z czasem ludzie odkryli, że ta magiczna niszczarka nie jest idealna. Pewni sprytni ludzie wymyślili, jak oszukać niszczarkę, aby generowała ten sam paragon dla dwóch różnych wiadomości (nazywa się to kolizją) oraz przewidywać, jak będą się obracać koła zębate, a następnie wykorzystać to do tworzenia fałszywych paragonów. Z tego powodu protokół MD4 nie jest już uważany za bezpieczny dla ważnych danych.

Dalsza lektura

Jeśli podobał Ci się ten wpis, mogą Cię zainteresować również poniższe sugestie:


Udostępnij na BlueskyUdostępnij na FacebookuUdostępnij na LinkedInUdostępnij na TumblrUdostępnij na XUdostępnij na LinkedInPrzypnij na Pintereście

Mikkel Christensen

O autorze

Mikkel Christensen
Mikkel jest twórcą i właścicielem miklix.com. Ma ponad 20-letnie doświadczenie jako profesjonalny programista komputerowy / programista oprogramowania i jest obecnie zatrudniony na pełny etat w dużej europejskiej korporacji IT. Kiedy nie bloguje, poświęca swój wolny czas na szeroki wachlarz zainteresowań, hobby i aktywności, co może w pewnym stopniu znaleźć odzwierciedlenie w różnorodności tematów poruszanych na tej stronie.