Я использую API-интерфейс z zlib, потому что он имеет функцию crc32_combine
для объединения контрольных сумм, а функция Boost - нет.
Однако мне нужно реализовать контрольную сумму CRC32-C (Castagnoli) с полиномом 0x1EDC6F41
вместо стандартной контрольной суммы CRC32.
С Boost я могу использовать:
#include <boost/crc.hpp>
using crc_32c_type = boost::crc_optimal<32, 0x1EDC6F41, 0xFFFFFFFF, 0xFFFFFFFF, true, true>;
crc_32c_type result;
result.process_bytes(reinterpret_cast<const char*>(&buffer), len);
return result.checksum();
Который может использовать полином 0x1EDC6F41
.
Есть ли для меня аналогичный способ сделать это с zlib?