技术分享 2017-06-30

CRC8校验算法

作者:耕阁技术团队 15698 阅读

CRC8校验算法

循环冗余校验(Cyclic Redundancy Check,简称CRC)是一种根据网络数据包或计算机文件等产生的简短校验码,以便检测数据传输或存储时所发生的错误。本文介绍CRC8的实现原理和C#代码示例。

算法原理

CRC是一种冗余校验方法,其特点是信息字段和校验字段的长度是可以任意选定的。常用的CRC标准有CRC8、CRC16、CRC32等。

C#实现代码

public static byte CRC8(byte[] data){    byte crc = 0;    foreach (byte b in data)    {        crc ^= b;        for (int i = 0; i < 8; i++)        {            if ((crc & 0x80) != 0)                crc = (byte)((crc << 1) ^ 0x07);            else                crc <<= 1;        }    }    return crc;}