ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
980366 Топик полностью
Dingo (21.02.2020 05:11 - 06:34, просмотров: 215) ответил IBAH на А существует такой хеш, типа CRC, чтобы от нуля менял свое состояние.
"вы просто не умеете их готовить!" Сдаётся мне, что повторяете часть моих ошибок. 0) - терминологическая. Контрольная сумма не совсем то же, что и CRC, хотя путаница присутствует. CRC - более узкое семейство алгоритмов, а сложить все/xor/... - это контрольная сумма, но не CRC (селёдка ⊆ рыба, но не рыба ⊆ селёдка ). Мне на каком-то ресурсе напинали сильно за это, потому отложилось. Если всё же "оно" - то как уже посоветовали здесь . 1) если вам требуется только проверка целостности - недостаточно выполнять операцию накопление + значение[n], следует добавить какую-нить константу. Тогда результат будет изменяться и от количества обработанных значений. У меня обычно что-то вроде sum += 0x21 + p_u8[i]; 2) у собственно CRC ещё стоит задача и восстановить информацию до какого-то вполне конкретного количества повреждённых элементов. Начинать можно с кодов Рида-Соломона в вики. 3) если важна равномерность распределения результата, то это уже хэш-функция, обзорно здесь