Что такое CRC?

Middle
346 просмотров
AFK Offer AI

CRC (Cyclic Redundancy Check) — алгоритм контрольной суммы, основанный на полиномиальном делении. Быстрый, аппаратно ускоренный (инструкция CRC32C в CPU), но НЕ криптостойкий — можно подобрать данные с нужным CRC. Используется для обнаружения случайных ошибок: Ethernet, ZIP, PNG, PostgreSQL WAL. В Go: hash/crc32 и hash/crc64. CRC32 даёт 4 байта, вероятность коллизии ~1 к 4 миллиардам — достаточно для обнаружения случайных повреждений, но не для защиты от подмены.

Следующий вопрос

Как делать smoke test?