admin管理员组

文章数量:1537265

2024年5月27日发(作者:)

常见校验算法

一、校验算法

奇偶校验(单字节奇偶校验和多字节奇偶校验)

MD5校验

求校验和

BCC(Block Check Character/信息组校验码),常说的异或校验方法

CRC(Cyclic Redundancy Check/循环冗余校验)

LRC(Longitudinal Redundancy Check/纵向冗余校验)

二、奇偶校验

内存中最小的单位是比特,也称为“位”,位有只有两种状态分别以1和0来标示,

每8个连续的比特叫做一个字节(byte)。不带奇偶校验的内存每个字节只有8位,如果

其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生

错误。而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位。在某字节

中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假

设存储的数据用位标示为1、1、 1、0、0、1、0、1,那么把每个位相加(1+1+1+0

+0+1+0+1=5),结果是奇数,那么在校验位定义为1,反之为0。当CPU读取存储的

数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致。从而一定

程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位

同时发生错误的概率相当低,但奇偶校验却无法检测出双位错误

三、MD5校验

MD5的全称是Message-Digest Algorithm 5,在90年代初由MIT的计算机科学实

验室和RSA Data Security Inc 发明,由 MD2/MD3/MD4 发展而来的。MD5的实际应

用是对一段Message(字节串)产生fingerprint(指纹),可以防止被“篡改”。举个例子,

天天安全网提供下载的MD5校验值软件,其MD5值是

1e07ab3591d25583eff5129293dc98d2,但你下载该软件后计算MD5 发现其值却是

81395f50b94bb4891a4ce4ffb6ccf64b,那说明该ZIP已经被他人修改过,那还用不用

该软件那你可自己琢磨着看啦。

四、求校验和

求校验和其实是一种或运算。如下:

//-----------------------------------------------------------------------------------

---------------

//如下是计算校验位函数

// checkdata,包括起始位在内的前九位数据的校验和

//-----------------------------------------------------------------------------------

---------------

本文标签: 校验错误奇偶校验