clwn.net
当前位置:首页 >> jAvA 实现CrC16校验算法的问题 >>

jAvA 实现CrC16校验算法的问题

实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。 应用例子:龙珠cpu在线调试工具bbug.exe。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认...

CRC校验码的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(既CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。在接收端,则根据信息码和CRC码之间...

public static int CRC16(byte[] Buf, int Len) { int CRC; int i, Temp; CRC = 0xffff; for (i = 0; i < Len; i++) { CRC = CRC ^ byteToInteger(Buf[i]); // System.out.println(byteToInteger(Buf[i])); for (Temp = 0; Temp < 8; Temp++) { ...

b是需要检验的数据。getvalue是8位校验码,string类型。看api只有快 是帧封装802.3么?

unsigned short 都替换为int unsigned int 也替换为int unsigned char const *buf替换为byte[] buf *buf++替换为buf[i]

public class CRC { /** * CRC-CCITT(Kermit)验证模式 * @param str * @return */ public String CRC_CCITT_Kermit(String str) { int j, b, rrrc, c, i; String tmpBalance; int k; rrrc = 0; tmpBalance = str; int tmpInt, CharInt; String t...

short CityComGetCRC(final byte[] data,short length){ short crc=0,q; short c,i; for(i=0;i>4)^(q*0x1081); q=(crc^(c>>4))&0xf0; crc=(crc>>4)^(q*0x1081); } return crc;}

校验的双方是自己算出来的数和发布方公布的数做对比。 你需要预先知道“发布方发布的效验码”或者“可能发生错误之前(比如传输之前)自己计算的效验码” 然后 if(crc.getValue()==official_crc){ //一致,数据完整 }else{ //不一致,数据不完整 }

循环冗余校验码(CRC)的基本原理是: 在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码又叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)...

这是16位CRC校验吧,这里的寄存器是用来放校验值的,可以如下定义: int crc = 0xFFFF;

网站首页 | 网站地图
All rights reserved Powered by www.clwn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com