crc16算法如何实现及调用?
我在网上找到很多C#写的CRC16算法,但都只定义了一个函数,没有如何调用的说明。谁能提供调用的方法吗?谢谢!
例如我找到这么个算法,怎么调用? 我想输入"00 17 02 31 31 31 31 31 31 31 31 32 32 32 32 32 32 32 32 DD 01" 正确应返回"68 EF"
public byte[] CRC16(Byte[] data)
{
byte CRCLo=0xff,CRCHi=0xff;
byte CL=0x1,CH=0xA0;
byte SaveHi,SaveLo;
for(int i=0;i<data.Length;i++)
{
CRCLo ^=data[i];
for(int Flag=0;Flag<8;Flag++)
{
SaveHi = CRCHi;
SaveLo = CRCLo;
CRCHi >>=1;
CRCLo >>=1;
if((SaveHi & 0x01)==0x01)
{
CRCLo |=0x80;
}
if((SaveLo * 0x1)==0x1)
{
CRCHi ^=CH;
CRCLo ^=Cl;
}
}
}
byte[] ReturnData=new byte[2];
ReturnData[0]=CRCLo;
ReturnData[1]=CRCHi;
return ReturnData;
}