Kalkulator kodu skrótu CRC-32
Opublikowano: 17 lutego 2025 18:12:06 UTC
Ostatnia aktualizacja: 12 stycznia 2026 09:14:53 UTC
CRC-32 Hash Code Calculator
Cykliczna kontrola nadmiarowa (CRC) to kod detekcji błędów powszechnie używany do wykrywania przypadkowych zmian w surowych danych. Chociaż technicznie rzecz biorąc, CRC-32 nie jest kryptograficzną funkcją skrótu, jest często nazywany skrótem ze względu na jego zdolność do generowania danych wyjściowych o stałym rozmiarze (32 bity) z danych wejściowych o zmiennej długości.
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.
O algorytmie skrótu CRC-32
Nie jestem matematykiem, ale postaram się wyjaśnić tę funkcję skrótu za pomocą prostej analogii. W przeciwieństwie do wielu kryptograficznych funkcji skrótu, nie jest to szczególnie skomplikowany algorytm, więc prawdopodobnie będzie w porządku ;-)
Wyobraź sobie, że wysyłasz list pocztą, ale obawiasz się, że ulegnie uszkodzeniu, zanim dotrze do adresata. Na podstawie zawartości listu obliczasz sumę kontrolną CRC-32 i zapisujesz ją na kopercie. Po otrzymaniu listu odbiorca może również obliczyć sumę kontrolną i sprawdzić, czy zgadza się z tym, co napisałeś. Jeśli tak, list nie został uszkodzony ani zmieniony w trakcie transportu.
Proces CRC-32 składa się z czterech etapów:
Krok 1: Dodaj trochę dodatkowej przestrzeni (wypełnienie)
- CRC dodaje odrobinę miejsca na końcu wiadomości (jak pakowanie orzeszków ziemnych do pudełka).
- Dzięki temu łatwiej jest wykrywać błędy.
Krok 2: Magiczna linijka (wielomian)
- CRC-32 wykorzystuje specjalną „magiczną linijkę” do pomiaru danych. Wyobraź sobie tę linijkę jako wzór wypukłości i rowków (to wielomian, ale nie przejmuj się tym słowem). Najczęściej stosowaną „linijką” w przypadku CRC-32 jest stały wzór.
Krok 3: Przesuwanie linijki (proces dzielenia)
- Teraz CRC przesuwa linijkę po wiadomości. W każdym miejscu sprawdza, czy wypustki i rowki są wyrównane. Jeśli nie, CRC tworzy notatkę (odbywa się to za pomocą prostej operacji XOR, podobnej do włączania i wyłączania przełączników). Przesuwa linijkę i przełącza przełączniki, aż dotrze do końca.
Krok 4: Wynik końcowy (suma kontrolna)
- Po przesunięciu linijki wzdłuż całej wiadomości otrzymasz niewielką liczbę (o długości 32 bitów), która reprezentuje oryginalne dane. Liczba ta stanowi swego rodzaju unikalny odcisk palca wiadomości. Jest to suma kontrolna CRC-32.
Wersja prezentowana na stronie to oryginalna funkcja CRC-32, którą należy stosować w celu uzyskania najlepszej kompatybilności z innymi systemami.
Posiadam również kalkulatory dla pozostałych wariantów:
- Połączyć
- Połączyć
Dalsza lektura
Jeśli podobał Ci się ten wpis, mogą Cię zainteresować również poniższe sugestie:
