完整性校验用到常见的算法_几种常见的校验算法

本文介绍了嵌入式工程中常用的几种数据校验算法,包括校验和、异或校验、CRC校验和MD5算法。CRC-16在嵌入式领域应用广泛,MD5则用于确保文件唯一性和密码安全性。此外,还提及了SM3和SHA-1等其他安全算法。
摘要由CSDN通过智能技术生成

素材来源:网络

编辑整理:strongerHuang

UART有一个奇偶校验,CAN通信有CRC校验。Modbus、MAVlink、USB等通信协议也有校验信息。

在自定义数据存储时,有经验的工程师都会添加一定校验信息。

你平时通信,或者数据存储时,你有用到校验信息吗?下面就介绍几种常见的校验算法。

一、校验和

校验和是最基本,也是嵌入式工程师最常用的一种校验算法,其实现方法很简单,简单到只有几行代码。

实现的方式方法很多,不同的编程语言,不同的应用有所不同,下面以C语言8位校验和为例:uint8_t CheckSum(uint8_t *Buf, uint8_t Len){uint8_t i = 0;uint8_t sum = 0;uint8_t checksum = 0;for(i=0; i

二、异或校验

【异或校验】与【校验和】类似,对数据进行“异或”,最终得到一个“异或值”。uint8_t CheckXOR(uint8_t *Buf, uint8_t Len){uint8_t i = 0;uint8_t x = 0;for(i=0; i

校验和、异或校验的方式有很多种,比如有的还会传入一个参数作为异或校验的值。

当然,以上代码仅供学习参考,实际应用需结合项目情况修改代码。

三、CRC校验

CRC:Cyclic Redundancy Check,即循环冗余校验。

CRC是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值