crc代码java代码 crc校验java

哪位大哥用java写过CRC8校验, 多项式X7 +X6 +X5 +X2 +1,求代码?

代码如下

网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了大竹免费建站欢迎大家使用!

public static byte CRC8(byte[] buffer)

  {

      byte crc = 0;

      for (int j = 0; j buffer.Length; j++)

      {

          crc ^= buffer[j];

          for (int i = 0; i 8; i++)

          {

              if ((crc 0x01) != 0)

              {

                  crc = 1;

                  crc ^= 0x8c;

              }

              else

              {

                  crc = 1;

              }

          }

      }

      return crc;

  }

C语言CRC校验码转成JAVA代码

JAVA、C语法兼容度很高,CRC这种纯计算代码几乎可以照搬,把char类型换一下就可以

JAVA怎么做CRC校验的程序

实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。

应用例子:龙珠cpu在线调试工具bbug.exe。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发送字节后才继续发送下一个字节的。 实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来。

应用例子:单片机串口通讯有一模式就是8位数据通讯,另加第9位用于放校验值。

bcc异或校验法(block check character)

实现方法:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值,通常把它附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

校验值计算的代码类似于:

unsigned uCRC=0;//校验初始值

for(int i=0;iDataLenth;i++) uCRC^=Data[i];

适用范围:适用于大多数要求不高的数据通讯。

应用例子:ic卡接口通讯、很多单片机系统的串口通讯都使用。 (Cyclic Redundancy Check)

实现方法:这是利用除法及余数的原理来进行错误检测的

将C语言版的CRC校验改为java代码写

short CityComGetCRC(final byte[] data,short length){

short crc=0,q;

short c,i;

for(i=0;ilength;i++){

c=data[i];

q=(crc^c)0x0f;

crc=(crc4)^(q*0x1081);

q=(crc^(c4))0xf0;

crc=(crc4)^(q*0x1081);

}

return crc;

}


分享题目:crc代码java代码 crc校验java
文章出自:http://myzitong.com/article/ddjsiee.html