模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC算法之前,必须掌握模2运算的规则。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“·”表示模2乘,“÷”...
分类:
其他好文 时间:
2015-02-14 13:43:33
阅读次数:
131
方式1 unsigned short shrCRCCheckSum = 0; // 校验和1 char tstCRCChecksum[2];2 memcpy(tstCRCChecksum,&shrCRCCheckSum,2); // sh...
分类:
其他好文 时间:
2015-01-30 15:03:16
阅读次数:
187
模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC算法之前,必须掌握模2运算的规则。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“·”表示模2乘,“÷”...
分类:
其他好文 时间:
2015-01-04 11:03:50
阅读次数:
183
tcp,udp的校验和很弱,简单点看就是全部加起来取反,连顺序错误的问题都不能防止,位数也不多,16位。岂不是有1/65536的概率出错也检测不出来?
注意以太网那层是crc校验,两个合在一起,出错没检测出来的概率大大降低。
万一出错,应用层可以再做一次校验,如果真的这样,最怕的是协议的每一帧不定长,一旦出错边界完全错乱,错乱中甚至非常小概率请求被错误解读,不过多数情况是数据从此不可用。
这...
分类:
其他好文 时间:
2014-12-06 10:10:55
阅读次数:
354
用于对一个文件进行CRC校验,以确保文件数据传输的正确性。
废话不多说,直接上代码!
crc32.h
#ifndef CRC_32_H
#define CRC_32_H
#ifdef __cplusplus
extern "C" {
#endif
void init_crc_table(void);
unsigned int crc32(unsigned int crc,unsi...
分类:
其他好文 时间:
2014-12-05 12:49:55
阅读次数:
206
private byte[] CRC(byte[] x, int len) //CRC校验函数 { byte[] temdata = new byte[2]; UInt16 crc = 0; byte da; ...
WORDCRC16Hi[]={0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x..
分类:
其他好文 时间:
2014-11-10 15:52:52
阅读次数:
222
unit untCRCMD5;interface{ 获取文件CRC校验码 }function GetFileCRC(const iFileName: string): String;{ 获取字符串CRC校验码 }function GetStringCRC(const Str: string): Ca...
分类:
其他好文 时间:
2014-11-06 16:40:13
阅读次数:
132
CRC校验算法
移位法
Unsigned short CRC16(unsigned char *pBuf,int nLength)
{
Unsigned short wReturn = 0xFFFF;
for(int nDataLen=0;nDataLen
{
wReturn^=(unsigned short)(BYTE(pBuf[nDataLen]));
for(int nInd...
分类:
数据库 时间:
2014-11-03 16:23:38
阅读次数:
316
今天开始研究Redis源码中的一些工具类的代码实现,工具类在任何语言中,实现的算法原理应该都是一样的,所以可以借此机会学习一下一些比较经典的算法。比如说我今天看的Crc循环冗余校验算法和rand随机数产生算法。
CRC算法全称循环冗余校验算法。CRC校验的基本思想是利用线性编码理论,在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(既CRC码)r位...
分类:
编程语言 时间:
2014-10-29 10:52:12
阅读次数:
213