CRC32b - има ли спецификация някъде?

Трябва да използвам CRC32b версия в моя изходен код (.NET и C#), но я няма никъде. Някой знае ли къде има спецификация за CRC32b или някакъв псевдокод? Благодаря ти


person Antun Tun    schedule 05.07.2013    source източник
comment
Нямам отговор, но този свързан SO въпрос може да доведе до това, което търсите.   -  person Blastfurnace    schedule 05.07.2013


Отговори (2)


Нямам представа откъде идва "b", но видях, че CRC32b се отнася за нормалния CRC-32, използван от PKZip, gzip и т.н. и както е дефинирано в ITU-T V.42. Можете да намерите описанието на този CRC и много други тук.

person Mark Adler    schedule 05.07.2013
comment
Благодаря, ще погледна документацията - person Antun Tun; 07.07.2013

Ще направя малко по-добре от просто псевдокод...

Връзката по-долу води до помощната програма за команден ред на macOS, която независимо изчислява CRC32B (без да използва системни библиотеки). По дизайн функцията CRC32B() може да бъде изтеглена и използвана в системи с вграден код или тази помощна програма за команден ред може да бъде прекомпилирана на Raspberry PI с #include модификации.

(предварително компилиран macOS инструмент и Xcode проект с източник) `https://cerniuk.org/wiki/pages/S5Z134W8a/CRC32B_Any_Text.html

и ако искате да проверите моя алгоритъм, ето страхотен уеб сайт за изчисляване на всякакъв вид контролни суми и хешове: https://md5calc.com/hash/crc32b/cerniuk

crc32b е 32-битовата последователност за проверка на рамка на ITU V.42, използвана от Ethernet драйвери за валидиране на предавания на рамка, така че се предполага, че е бърза. Също така е полезно за други неща като PKZip или внедряване на ваши собствени switch() оператори в C, които ефективно превключват низове char *, записи struct{}, блокове данни void * и т.н. ;-)

person Cerniuk    schedule 18.12.2020