Трябва да използвам CRC32b версия в моя изходен код (.NET и C#), но я няма никъде. Някой знае ли къде има спецификация за CRC32b или някакъв псевдокод? Благодаря ти
CRC32b - има ли спецификация някъде?
Отговори (2)
Нямам представа откъде идва "b", но видях, че CRC32b се отнася за нормалния CRC-32, използван от PKZip, gzip и т.н. и както е дефинирано в ITU-T V.42. Можете да намерите описанието на този CRC и много други тук.
Ще направя малко по-добре от просто псевдокод...
Връзката по-долу води до помощната програма за команден ред на 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 *
и т.н. ;-)