Generator CRC32
Natychmiast oblicz sumę kontrolną CRC32 dowolnego tekstu. Narzędzie koduje dane wejściowe jako UTF-8 i stosuje standardowy wielomian IEEE 802.3 CRC-32 używany przez ZIP, gzip, PNG i Ethernet, a następnie zwraca wynik jako osiem cyfr szesnastkowych lub liczbę dziesiętną bez znaku. Użyj go do sprawdzania zapisanych sum kontrolnych, debugowania formatów plików i porównywania wyników z zlib, crc32 z PHP lub innymi bibliotekami.
Najczęściej zadawane pytania
Czym jest CRC32?
CRC32 to 32-bitowa cykliczna kontrola nadmiarowa, która wykrywa przypadkowe zmiany danych. To narzędzie stosuje wielomian IEEE 802.3 0x04C11DB7 w postaci odbitej — wariant używany przez ZIP, gzip, PNG i zlib. Wynikiem jest pojedyncza liczba 32-bitowa.
Jakie są standardowe wartości kontrolne CRC32?
Tekst 123456789 daje cbf43926, opublikowaną wartość kontrolną dla CRC-32. Puste wejście daje 00000000, a abc — 352441c2. Możesz użyć tych wartości, aby potwierdzić, że inna implementacja korzysta z tego samego wariantu.
Dlaczego niektóre narzędzia pokazują inny CRC32?
Istnieją inne warianty, takie jak CRC-32C (Castagnoli), używany przez iSCSI i ext4, oraz nierefleksyjna wersja BZIP2. Wykorzystują inne wielomiany lub kolejność bitów, dlatego dają inne wartości. Sprawdź też, czy obie strony haszują te same bajty, w tym znaki końca wiersza.
Co oznacza wynik dziesiętny?
Wynik dziesiętny przedstawia sumę kontrolną jako liczbę całkowitą bez znaku z zakresu od 0 do 4294967295. Odpowiada to crc32 w PHP na systemach 64-bitowych oraz zlib.crc32 w Pythonie. Wynik szesnastkowy to ta sama liczba zapisana jako osiem cyfr szesnastkowych.
Czy CRC32 jest hashem kryptograficznym?
Nie. CRC32 wykrywa losowe błędy transmisji, ale każdy może przygotować dane z wybraną sumą kontrolną. Gdy potrzebujesz ochrony przed celowym manipulowaniem danymi, użyj SHA-256 lub innego hasha kryptograficznego.
Jak prawdopodobne są kolizje CRC32?
Przy zaledwie 32 bitach dwa losowe wejścia mają około jedną szansę na cztery miliardy na uzyskanie tej samej sumy kontrolnej. Wśród około 77,000 wejść prawdopodobieństwo kolizji jakiejś pary sięga już 50 procent. CRC32 nadaje się do wykrywania błędów, ale nie do tworzenia unikalnych identyfikatorów.
Jak tekst jest przekształcany przed obliczeniem sumy kontrolnej?
Narzędzie pobiera bajty UTF-8 tekstu dokładnie w takiej postaci, w jakiej go wpisano. Znaki spoza ASCII zajmują kilka bajtów, a znaki końca wiersza również są uwzględniane, więc upewnij się, że druga strona używa tych samych bajtów.
Czy wynik szesnastkowy jest uzupełniany zerami?
Tak. Zapis szesnastkowy zawsze zawiera osiem małych cyfr, a w razie potrzeby zera wiodące, więc 0x0000abcd pojawia się jako 0000abcd. Niektóre narzędzia pomijają zera wiodące lub używają wielkich liter, ale wartość pozostaje taka sama.
Czy mogę obliczyć CRC32 pliku?
To narzędzie działa na wklejonym tekście. W przypadku plików użyj lokalnego polecenia, takiego jak crc32 z narzędzi libarchive, albo krótkiego skryptu z zlib. Katalog centralny ZIP przechowuje też CRC32 każdego wpisu.
Jak długa może być zawartość wejściowa?
Do 5 MiB tekstu na żądanie. CRC32 oblicza się bardzo szybko, więc wynik pojawia się od razu, a dane wejściowe nie są przechowywane.