- 12
- 0
- 约9.35千字
- 约 6页
- 2021-08-26 发布于湖北
- 举报
天津易博达动力科技有限公司 内部资料,注意保密
数据校验算法的列举和比较
一、 什么是数据校验:
通俗的说,就是为保证数据的完整性,用一种指定的算法对原始数据计算出的一个校验值。接收
方用同样的算法计算一次校验值,如果和随数据提供的校验值一样,就说明数据是完整的。
数据校验也可以保护敏感数据不会被人为篡改。对于一份敏感文档,可以对其生成相应的校验码,
并交由第三方保存。查看文档时可以交由第三方验证,确保文档的完整性。再次,数据校验也被大量
的使用在数字签名中。发布数据时,对一份数据信息产生校验码,然后使用私钥对校验码进行加密。
加密后的校验码就是数字签名。将数据信息和数字签名一同发送给接收方。接收方使用公钥对数字签
名进行解密,并使用相同的数据校验算法对接收到的数据信息生成校验码。比较两份校验码就可以知
道签名是否正确。数字签名具有两种功能:第一,它可以保证数据信息是由发送方签名发出的;第二,
它可以保证数据信息的完整性,因为不同的数据信息所产生的数字签名都是不一样的。
二、 数据校验算法的介绍
1. 最简单的检验
实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最
安全最准确的。同时也是效率最低的。
适用范围:简单的数据量极小的通讯。
应用例子:龙珠cpu 在线调试工具bbug.exe。它和龙珠cpu 间通讯时,bbug 发送一个字节cpu 返
回收到的字节,bbug 确认是刚才发送字节后才继续发送下一个字节的。
2. 奇偶校验Parity Check
实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据
位异或计算出来。
应用例子:单片机串口通讯有一模式就是8 位数据通讯,另加第9 位用于放校验值。
3. bcc 异或校验法(block check character)
实现方法:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定
的初始值(通常是0)异或一次,最后的结果就是校验值,通常
把她附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收
到的校验值一致就说明收到的数据是完整的。
校验值计算的代码类似于:
unsigned uCRC=0;//校验初始值
for(int i=0;iDataLenth;i++) uCRC^=Data[i];
适用范围:适用于大多数要求不高的数据通讯。
应用例子:ic 卡接口通讯、很多单片机系统的串口通讯都使用。
4. crc 循环冗余校验(Cyclic Redundancy Check)
实现方法:这是利用除法及余数的原理来进行错误检测的.将接收到的码组进行除法运算
,如果除尽,则说明传输无误;如果未除尽,则表明传输出现差错。crc 校验
具还有自动纠错能力。
crc 检验主要有计算法和查表法两种方法,网上很多实现代码。
适用范围:CRC-12 码通常用来传送6-bit 字符串;CRC-16 及CRC-CCITT 码则用是来传送
8-bit 字符。CRC-32:硬盘数据,网络传输等
天津易博达动力科技有限公司 内部资料,注意保密
应用例子:rar,以太网卡芯片、MPEG 解码芯片中
5. md5 校验和数字签名
实现方法:主要有md5 和des 算法。
适用范围:数据比较大或要求比较高的场合。如 md5 用于大量数据、文件校验,des 用于保密数据
的校验(数字签名)等等。
应用例子:文件校验、银行系统的交易数据
6. Adler-32 算法
Adler-32 是一种校验和(Checksum )算法,由Mark Adler 在1995 年提出,并应用到了zlib 压缩库
[1] 中。在RFC1950[2] 中也有对于Adler-32 算法的介绍,其中还给出了一个C 语言的实现例子。目前,
Adler-32 算法主要应用在zlib 压缩库和一些网络协议中。
分析:Adler-32 算法的原理是非常简单的。正因为如此,Adler-32 算法的安全性
您可能关注的文档
- 手机结构件公差配合汇总.pdf
- 手机连上WIFI总自动断开连接解决方案.doc
- 手术器械发展.doc
- 手指指圈正确测量方法.doc
- 手自一体变速箱.pptx
- 疏通管道常用工具.pdf
- 数据分析_最常用数据分析模型.pdf
- 数据分析及结果评价.doc
- 数据分析能力8个等级.pdf
- 数据修正处理.pdf
- 软件开发面试常见问题解答集.docx
- 政府公务员面试考点预测.docx
- 考试题集云南白药市场部长专业能力测试.docx
- 合规主管岗位面试题集及答案解析.docx
- 25-26学年英语(人教版)选择性必修第四册课件:UNIT5 单元综合测评五.pptx
- 2026届高三生物二轮复习课件:专题三 必备整合 细胞的增殖、分化、衰老和死亡.pptx
- 2026届高三生物二轮复习课件:专题六 专题强化练 体液调节.pptx
- 2026届高三生物二轮复习课件:专题四 专题强化练 伴性遗传与人类遗传病.pptx
- 教科版三年级科学上册 -风的成因25.pptx
- 25-26学年英语(人教版)选择性必修第四册课件:UNIT5 单词和短语.pptx
最近下载
- 海绵城市监理实施细则范本·仅供参考.doc VIP
- 七年级数学下册-相交线与平行线测试题(同名10636).doc VIP
- 《跨学科主题学习设计与实施》全套教学课件.pptx
- 建设工程项目管理全套课件.pptx
- 数控多轴加工编程与仿真全套教学课件.pptx
- 2018助理班主任工作总结3篇-2018助理班主任工作总结3篇-2018助理班主任工作总结3篇-.doc VIP
- 《水工程施工》课程大纲.pdf VIP
- 市政管线项目划分.doc VIP
- 2026年春季开学第一课 课件:策马新学期,筑梦向远方-2025-2026学年下学期优质主题班会(全国通用).pptx
- 初高中英语必背4000个词汇表.pdf
原创力文档

文档评论(0)