ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
338297 Топик полностью
vmp (02.07.2012 18:11 - 18:18, просмотров: 109) ответил SciFi на Пожалуйста, киньте ссылку на код CRC32 (Ethernet) с генерацией таблицы в ОЗУ при старте.
Генерацию таблицы для CRC32 дергал из исходников unrar. Тот ли там полином - не помню. http://www.rarlab.com/rar/unrarsrc-4.2.4.tar.gz
// CRCTab duplicates crc_tables[0], but we still need it to decrypt // old version RAR archives. GUI code might use it for ZIP encryption. uint CRCTab[256]; static uint crc_tables[8][256]; // Tables for Slicing-by-8. void InitCRC() { for (uint I=0;I<256;I++) // Build the classic CRC32 lookup table. { uint C=I; for (uint J=0;J<8;J++) C=(C & 1) ? (C>>1)^0xEDB88320L : (C>>1); CRCTab[I]=crc_tables[0][I]=C; } for (uint I=0;I<=256;I++) // Build additional lookup tables. { uint C=crc_tables[0][I]; for (uint J=1;J<8;J++) { C=crc_tables[0][(byte)C]^(C>>8); crc_tables[J][I]=C; } } }