Генератор хеша CRC-32
Стандартная циклическая проверка избыточности для целостности данных
CRC-32 — самая используемая некриптографическая функция контрольной суммы в мире. Создаёт 32-битный хеш (8 hex символов) методом полиномиального деления. CRC-32 везде: форматы ZIP и PNG, сети Ethernet, протоколы USB и файловые системы.
Что такое CRC-32?
CRC-32 трактует входные данные как гигантский полином и вычисляет остаток от деления на фиксированный порождающий полином.
✅ Преимущества
- • Аппаратное ускорение: Инструкции Intel CRC32 вычисляют на скорости памяти
- • Надёжное обнаружение: Находит все ошибки в 1, 2 битах и нечётные
- • Универсальный стандарт: Ethernet, USB, ZIP, PNG, MPEG-2
- • Простой и быстрый: Таблицы подстановки для быстрого вычисления
📊 Случаи использования
- • Архивация: Проверка целостности ZIP и gzip
- • Сети: Верификация фреймов Ethernet
- • Хранение: Целостность файловой системы
- • Мультимедиа: Целостность файлов PNG и MPEG
⚠️ Замечание по безопасности
CRC-32 не является криптографической хеш-функцией. Предназначена для обнаружения случайных ошибок, не для защиты от намеренной модификации.
🔄 Сравнение CRC-32
CRC-32
32 бита, полиномиальная
Обнаружение ошибок, не крипто
Adler-32
32 бита, арифметическая
Быстрее, слабее обнаружение
MD5
128 бит, криптографическая
Гораздо медленнее, но безопаснее
❓ Часто задаваемые вопросы
Разница между CRC-32 и CRC-32B?
Они используют разные порождающие полиномы. CRC-32B — это вариант, который PHP вычисляет по умолчанию.
Почему CRC-32 нельзя использовать для безопасности?
CRC-32 линейна и обратима. Злоумышленник может легко создать коллизии.
CRC-32 обнаруживает все ошибки?
Нет. CRC-32 обнаруживает 100% ошибок в 1 и 2 битах, но может пропустить некоторые паттерны ошибок.