Реализация CRC32 на .NET Micro
-
25-10-2019 - |
Вопрос
Я искал реализацию CRC32, которую я мог бы использовать в микрофраквере .NET. я нашел эта реализация, но Micro Framework еще не внедрил халагоритм. Как бы лучше всего работать?
Решение
.NET MicroFrameWork имеет Mitorility.computEcrc метод, хотя я не уверен в том, что на самом деле использует алгоритм. Он, конечно, не использует один из OP.Utility.computecrc
Другие советы
Попробуйте реализацию CRC из http://vbcity.com/cfs-file.ashx/__key/communityserver.components.postattachments/00.00.47.04.55/crc_5f00_lib.zip Анкет Это реализация, обсуждаемая на http://vbcity.com/forums/t/111345.aspx.
Вы можете проверить правильность ваших расчетов CRC на http://www.lammertbies.nl/comm/info/crc-calculation.html.
Вышеупомянутая ссылка из обсуждения VBCity фактически реализует преобразование библиотеки C ++, данной http://www.lammertbies.nl/comm/info/crc-calculation.html.
Я обнаружил, что это работает правильно для моей реализации CRC 16.
Короткий фрагмент кода
ushort crcno = CRC.CRC16(stryourdata);
Byte[] crcbytes = BitConverter.GetBytes(crcno);
Вы можете использовать код, на который ссылается. Hashalgorithm просто используется в качестве интерфейса, и вы можете отбросить его, не нанося вреда функциональности самой реализации CRC.
Изменить «защищенный переопределение пустого хэшкора (байт [] буфер, int start, int length)» на «public void calccrc32 (byte [] buffer, int start, int length)».
Публичный Uint CrcValue должен вернуть CrcValue без изменений.
Отбросьте все остальные методы и свойства.