crcmod
«s documentation гласит:„.. xorOut - Конечное значение для XOR с вычисленным значением CRC Используется некоторыми алгоритмами CRC По умолчанию ноль“crcmod в не ведет себя так же, как вручную XOR-
Я ожидал от этого описания, что установка этого параметра на ненулевое число (скажем, 0xFFFFFFFF) эквивалентна принятию CRC с нулевым параметром, а затем его координату с помощью этого номера с помощью оператора ^
.
Это не то поведение, которое я вижу. Что я ошибался? Каково фактическое поведение параметра xorOut?
Вот какой-то код прямо из моего интерактивного переводчика. Я ожидал, что последняя строка будет True.
>>> import crcmod
>>> crc32_func_noxor = crcmod.mkCrcFun(0x104c11db7, initCrc=0, rev=True, xorOut=0)
>>> crc32_func_xor = crcmod.mkCrcFun(0x104c11db7, initCrc=0, rev=True, xorOut=0xffffffff)
>>> crc32_func_noxor('12345678'.decode('hex'))^0xffffffff==crc32_func_xor('12345678'.decode('hex'))
False
Переопределение функции «-xor» с initCrc, равным xorOut, ведет себя так, как я ожидал. Пример сравнения теперь возвращает значение True. Благодаря! –