Генератор CRC32
Мгновенно вычисляйте контрольную сумму CRC32 для любого текста. Инструмент кодирует введенные данные в UTF-8 и применяет стандартный полином IEEE 802.3 CRC-32, используемый в ZIP, gzip, PNG и Ethernet, а затем возвращает значение в виде восьми hex-цифр или беззнакового десятичного числа. Используйте его для проверки сохраненных контрольных сумм, отладки форматов файлов и сравнения результатов с zlib, crc32 из PHP или другими библиотеками.
Часто задаваемые вопросы
Что такое 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?
При длине всего 32 бита вероятность того, что у двух случайных входных данных совпадут контрольные суммы, составляет примерно один к четырем миллиардам. Среди примерно 77,000 входных данных вероятность коллизии хотя бы одной пары уже достигает 50 процентов. CRC32 подходит для обнаружения ошибок, но не для создания уникальных идентификаторов.
Как текст преобразуется перед вычислением контрольной суммы?
Инструмент берет байты текста в UTF-8 точно в том виде, в каком вы его ввели. Символы не из ASCII занимают несколько байтов, а переносы строк тоже учитываются, поэтому проверьте, что другая сторона использует те же байты.
Дополняется ли шестнадцатеричный вывод нулями?
Да. Шестнадцатеричное значение всегда состоит из восьми строчных цифр; при необходимости в начале добавляются нули, поэтому 0x0000abcd отображается как 0000abcd. Некоторые инструменты опускают начальные нули или выводят заглавные буквы, но значение остается тем же.
Можно ли вычислить CRC32 файла?
Этот инструмент работает с вставленным текстом. Для файлов используйте локальную команду crc32 из набора инструментов libarchive или небольшой скрипт с zlib. Центральный каталог ZIP также хранит CRC32 каждой записи.
Какой может быть максимальная длина входных данных?
До 5 MiB текста на запрос. CRC32 вычисляется очень быстро, поэтому результат появляется сразу, а введенные данные не сохраняются.