.NETマイクロのCRC32実装
-
25-10-2019 - |
質問
.NETマイクロフレームワークで使用できるCRC32の実装を探していました。私は見つけました この実装, 、しかし、マイクロフレームワークはまだハスハルゴリズムを実装していません。これを機能させるための最良の方法は何でしょうか?
解決
.net microframeworkには、アルゴリズムが実際に使用しているものについてはわかりませんが、utility.computecrcメソッドがあります。確かにOPの1つは使用しません。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実装自体の機能を損なうことなくドロップできます。
変更「保護されたオーバーライドvoid hashcore(byte []バッファー、int start、int length)」に「public void calccrc32(byte [] buffer、int start、int length)」。
public uint crcValueは、CRCValueを変更しないように返す必要があります。
他のすべての方法とプロパティをドロップします。