Co to jest skrót MD5?

Skrót MD5 to 128-bitowy odcisk palca generowany z dowolnych danych. Jest zapisywany jako 32-znakowy ciąg szesnastkowy i jest wytwarzany przez funkcję jednokierunkową: to samo wejście zawsze zwraca ten sam skrót, ale oryginalne dane nie mogą być z niego odzyskane. Nawet zmiana jednego bajtu w pliku źródłowym powoduje całkowicie inny skrót.

MD5 jest szeroko stosowany jako suma kontrolna do weryfikacji, że plik został pobrany, skopiowany lub przesłany bez uszkodzenia. Chociaż MD5 nie jest już uważany za bezpieczny do celów kryptograficznych, takich jak podpisy cyfrowe, pozostaje szybkim i niezawodnym sposobem na wykrycie przypadkowych zmian i potwierdzenie integralności pliku.

Opis narzędzia

To narzędzie oblicza skrót MD5 pliku bezpośrednio w przeglądarce, w tym bardzo dużych plików, które normalnie przekraczałyby limity pamięci. Plik jest przesyłany strumieniowo w fragmentach i przetwarzany przyrostowo, więc nic nie jest przesyłane na serwer, a pliki o rozmiarze gigabajtów mogą być skrótowane bez awarii strony.

Przykłady

Plik wejściowy Skrót MD5
Pusty plik (0 bajtów) d41d8cd98f00b204e9800998ecf8427e
Plik tekstowy z hello 5d41402abc4b2a76b9719d911017c592
Obraz ISO 4 GB e2fc714c4727ee9395f324cd2e7f331f (przykład)

Funkcje

  • Skrótuje pliki dowolnego rozmiaru, w tym pliki wielogigabajtowe, bez pełnego ładowania ich do pamięci
  • Przetwarza pliki lokalnie w przeglądarce — bez przesyłania, bez serwera, dane nie opuszczają urządzenia
  • Pasek postępu pokazujący procent ukończenia podczas skrótowania
  • Wyświetla nazwę pliku i czytelny dla człowieka rozmiar pliku obok wyniku
  • Jednoklikalowe kopiowanie wynikowej sumy kontrolnej MD5

Przypadki użycia

  • Weryfikacja, że duży plik do pobrania (obraz ISO, wideo, zestaw danych) odpowiada sumie kontrolnej MD5 opublikowanej przez jego źródło
  • Potwierdzenie, że plik skopiowany na dysk zewnętrzny lub przesłany do magazynu w chmurze jest identyczny z oryginałem
  • Generowanie odcisku palca artefaktu kompilacji lub kopii zapasowej, aby móc później wykryć uszkodzenie lub manipulację

Jak to działa

Plik jest odczytywany w fragmentach 16 MB przy użyciu interfejsu API File.slice() przeglądarki. Każdy fragment jest przekazywany do przyrostowej implementacji MD5 (SparkMD5), która aktualizuje stan wewnętrzny bez przechowywania poprzednich fragmentów w pamięci. Po przetworzeniu każdego fragmentu ostateczny skrót jest obliczany na podstawie skumulowanego stanu. To podejście strumieniowe utrzymuje użycie pamięci na niskim i stałym poziomie niezależnie od rozmiaru pliku.

Porady

  • W przypadku bardzo dużych plików szybkość skrótowania zależy głównie od szybkości odczytu dysku i procesora; dyski SSD i nowoczesne przeglądarki zapewniają najlepszą wydajność.
  • Porównaj wygenerowany skrót z oficjalnym, wklejając oba do narzędzia porównywania tekstu, lub po prostu sprawdź, czy ciągi znaków pasują znak po znaku.
  • Jeśli potrzebujesz silniejszych gwarancji przed celową manipulacją, użyj zamiast tego narzędzia SHA-256 — MD5 jest odpowiedni do sprawdzania integralności, a nie do weryfikacji krytycznej dla bezpieczeństwa.

Często zadawane pytania

Czy mój plik jest przesyłany gdziekolwiek? Nie. Skrótowanie odbywa się całkowicie w przeglądarce przy użyciu JavaScript. Plik nigdy nie opuszcza urządzenia.

Dlaczego MD5 jest nadal używany, jeśli nie jest bezpieczny? MD5 jest złamany do użytku kryptograficznego (atakujący może tworzyć kolizje), ale nadal doskonale wykrywa przypadkowe uszkodzenia i jest znacznie szybszy niż bezpieczne skróty. Większość plików sum kontrolnych opublikowanych wraz z pobieraniem nadal używa MD5 lub SHA-1.

Jaki jest maksymalny rozmiar pliku? Narzędzie nie nakłada twardego limitu. W praktyce limit jest ustalany przez przeglądarkę i dostępne zasoby systemowe, ale pliki wielogigabajtowe działają dobrze, ponieważ plik jest przesyłany strumieniowo w fragmentach.