Генератор CRC32
Миттєво обчислюйте контрольну суму CRC32 для будь-якого тексту. Інструмент кодує введені дані в UTF-8 і застосовує стандартний поліном IEEE 802.3 CRC-32, який використовують ZIP, gzip, PNG та Ethernet, а потім повертає значення у вигляді восьми шістнадцяткових цифр або беззнакового десяткового числа. Використовуйте його для перевірки збережених контрольних сум, налагодження форматів файлів і зіставлення результатів із zlib, PHP crc32 або іншими бібліотеками.
Поширені запитання
Що таке CRC32?
CRC32 — це 32-бітна циклічна перевірка надлишковості, яка виявляє випадкові зміни даних. Цей інструмент використовує поліном IEEE 802.3 0x04C11DB7 у відображеній формі — цей варіант застосовують ZIP, gzip, PNG і zlib. Результат — одне 32-бітне число.
Які стандартні контрольні значення CRC32?
Текст 123456789 дає cbf43926 — опубліковане контрольне значення CRC-32. Для порожнього вводу результат — 00000000, а для abc — 352441c2. Їх можна використовувати, щоб перевірити, чи застосовує інша реалізація той самий варіант.
Чому деякі інструменти показують інше значення CRC32?
Існують інші варіанти, зокрема CRC-32C (Castagnoli), який використовують iSCSI та ext4, і нерефлективний варіант BZIP2. У них інші поліноми або порядок бітів, тому й результати відрізняються. Також перевірте, чи обидві сторони обчислюють хеш однакових байтів, зокрема з однаковими символами переносу рядка.
Що означає десяткове значення?
Десяткове подання показує контрольну суму як беззнакове ціле число від 0 до 4294967295. Воно відповідає crc32 у PHP на 64-бітних системах і zlib.crc32 у Python. Шістнадцятковий результат — це те саме число, записане вісьмома шістнадцятковими цифрами.
Чи є CRC32 криптографічним хешем?
Ні. CRC32 виявляє випадкові помилки передавання, але будь-хто може створити дані з вибраною контрольною сумою. Використовуйте SHA-256 або інший криптографічний хеш, якщо потрібен захист від навмисного втручання.
Яка ймовірність колізій CRC32?
Оскільки CRC32 має лише 32 біти, два випадкові входи матимуть однакову контрольну суму з імовірністю приблизно один до чотирьох мільярдів. Для приблизно 77,000 входів імовірність того, що якась пара матиме колізію, вже сягає 50 відсотків. CRC32 підходить для виявлення помилок, але не для унікальних ідентифікаторів.
Як мій текст перетворюється перед обчисленням контрольної суми?
Інструмент використовує байти UTF-8 тексту саме в тому вигляді, як ви його ввели. Символи поза ASCII займають кілька байтів, а переноси рядків також враховуються, тож переконайтеся, що інша сторона використовує ті самі байти.
Чи доповнюється шістнадцятковий результат нулями?
Так. Шістнадцяткове подання завжди містить вісім цифр у нижньому регістрі; за потреби на початку додаються нулі, тож 0x0000abcd відображається як 0000abcd. Деякі інструменти не показують початкові нулі або використовують верхній регістр, але значення залишається тим самим.
Чи можна обчислити CRC32 файлу?
Цей інструмент працює з текстом, який ви вставляєте. Для файлів скористайтеся локальною командою, як-от crc32 з набору інструментів libarchive, або коротким скриптом із zlib. Центральний каталог ZIP також зберігає CRC32 кожного запису.
Якої максимальної довжини може бути ввід?
До 5 MiB тексту на запит. CRC32 обчислюється дуже швидко, тому результат з’являється миттєво, а введені дані не зберігаються.