物联网字节校验常用方法

news/2025/9/26 11:20:21/文章来源:https://www.cnblogs.com/aeolian/p/19113127

① 校验和(Checksum)

  • 原理:把所有字节加起来(可能取低 8 位 / 16 位),作为校验值。
  • 优点:实现极其简单,计算快,资源消耗小。
  • 缺点:检测能力有限(部分错误无法发现,例如两个字节互换位置)。
  • 应用场景
    • 早期的 TCP/IP 头部校验(16 位补码和)。
    • 很多低功耗传感器的自定义协议。

② 异或校验(XOR Check)

  • 原理:把所有字节逐个异或,得到一个校验字节。
  • 优点:实现更快更简单,比普通和校验稍强。
  • 缺点:依旧检测能力有限,不能发现很多错误。
  • 应用场景
    • 工业仪表、RS485 自定义协议。
    • 传感器模组的简易数据帧。

③ CRC(循环冗余校验)

  • 原理:把数据看作一个二进制多项式,用生成多项式进行模 2 除法,余数就是 CRC。
  • 优点:检测能力强(能检测突发错误、位翻转)。
  • 缺点:实现稍复杂,但现在硬件/软件库都很成熟。
  • 常见变体
    • CRC8 → 一些轻量物联网协议(比如 I²C 设备通信)。
    • CRC16-IBM / CRC16-Modbus → Modbus、蓝牙 BLE。
    • CRC32 → 文件传输(MQTT 的部分实现、以太网帧)。

④ 哈希校验(Hash-based)

  • 原理:对数据做哈希(MD5、SHA-1、SHA-256)。
  • 优点:能防止篡改,安全性强。
  • 缺点:计算量大,低功耗 MCU 上不一定合适。
  • 应用场景
    • OTA 升级包校验(MD5/SHA256)。
    • 设备与云端的数据完整性验证。

⑤ 消息认证码(MAC / HMAC)

  • 原理:在哈希基础上加上一个密钥,得到校验值。
  • 优点:不仅能检测错误,还能防止伪造(带身份认证)。
  • 缺点:比普通哈希更重,适合性能稍好的设备。
  • 应用场景
    • MQTT over TLS 的消息完整性。
    • 云平台设备鉴权(阿里云、AWS IoT)。

⑥ 数字签名 / 公钥校验

  • 原理:使用非对称加密算法(RSA、ECC)对数据签名。
  • 优点:能防篡改 + 可追溯来源。
  • 缺点:计算量大(一般跑在网关或安全芯片里,不直接在传感器跑)。
  • 应用场景
    • 物联网固件 OTA 签名校验。
    • 高安全要求(金融支付终端、车联网 ECU)。

🌍 常见物联网协议对应的校验方式

  • LoRaWAN:MIC(消息完整性码,基于 AES-CMAC)。
  • MQTT:应用层通常自己加 CRC / Hash;加密用 TLS。
  • CoAP:依赖 DTLS 提供安全完整性。
  • NB-IoT / 4G LTE:底层物理层和链路层有 CRC;上层应用再加 Hash/签名。
  • Modbus RTU:CRC16。
  • ZigBee:MAC 层用 CRC16,安全层用 AES-CMAC。

✅ 总结

  • 简单场合:用 校验和、异或、CRC。
  • 需要防篡改:用 哈希 (MD5/SHA)。
  • 需要认证 + 防伪造:用 HMAC 或 数字签名。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918175.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实用指南:RabbitMQ 核心组件详解与持久化日志队列实现方案

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

实用指南:【C语言】统计二进制中1的个数:三种方法的比较与分析

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Visual Prompt Builder-AI 提示词可视化工具 - 详解

Visual Prompt Builder-AI 提示词可视化工具 - 详解2025-09-26 11:18 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; disp…

STM32H743-ARM例程2-UART命令控制LED - 实践

STM32H743-ARM例程2-UART命令控制LED - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &quo…

大连做网站哪家便宜深圳市龙华区房价

作者:激越王预估稿费:400RMB投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿你是否听说过xml注入攻击呢,或者对它只知其一不知其二呢?现在让我们从xml相关基础知识开始,一步步了解xml攻…

建设科技处网站wordpress wap

目录 说明批量zip2pdf批量zip2pdf下载SS号重命名源代码SS号重命名源代码下载附录,水文年鉴 说明 1、zip2pdf是一个开源软件,支持自动化解压压缩包成PDG,PDG合成PDF,笔者在其基础上做了部分修改,支持批量转换。 2、秒…

提供做网站公司wordpress开启多站点

我们组件中 会有很多通用的信息和方法 那么 首先 我们看通用事件 通用事件中 最常用的就是我们的点击事件 比如说 我们之前常写的 组件.onClick(()>{//事件逻辑 })但是 我们之前 都没有用它接参数 我们可以这样 Button("跳转").onClick((ewat: ClickEvent)>…

网站建设html代码邢台信息港二手房出售

1.简介 双指针技巧是一种常见的算法解题方法,通过使用两个指针在数据结构上同时移动,可以解决多种问题。这种技巧通常适用于数组、字符串和链表等数据结构,下面我将详细介绍双指针技巧的特点和应用场景: 特点: 快慢…

完整教程:Zookeeper与Kafka:分布式系统中的协调与消息队列

完整教程:Zookeeper与Kafka:分布式系统中的协调与消息队列pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Conso…

vite-vue3 项目优化首屏加载速度

A嵌入B,B加载速度太慢了,需要4s+,需优化: B系统技术栈: vue3 + vite 优化结果如下,上下对比还有有差距的:一、先处理: 首屏加载的文件——先优化文件大 step1: 安装可视化插件 rollup-plugin-visualizer; vi…

深入解析:小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统

深入解析:小九源码-springboot050-基于spring boot的苏蔚家校互联管理系统pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-famil…

建设自己公司的网站公司网站本地如何弄

目录 前言 一、Mybatis-Plus 开启日志的方式 二、测试 三、日志分析 章末 前言 小伙伴们大家好,相信大家平时在处理问题时都有各自的方式,最常用以及最好用的感觉还是断点调试,但是涉及到操作数据库的执行时,默认的话在控制台…

12_TCP和UDP实现服务端和客户端的通信

一、TCP实现多进程通信 server_process.c 服务端代码: #define _XOPEN_SOURCE #include <stdio.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdlib.h…

各种软件的官方文档和安装包下载地址记录

各种软件的官方文档和安装包下载地址记录组件 官网文档 官方下载地址Elasticsearch https://www.elastic.co/guide/en/elasticsearch/reference/index.html https://www.elastic.co/downloads/past-releases?product=…

基于导频的OFDM系统的信道估计(使用LS估计算法)

在OFDM系统中,信道估计是关键的一步,因为它直接影响到信号的解调和系统性能。最小二乘(LS)估计算法是一种常用的信道估计方法,它通过已知的导频符号来估计信道响应。 基于MATLAB的OFDM系统信道估计的实现,使用LS…

Day22super详解

super是一个关键字,用于子类访问父类的属性方法与构造器,与this一样在调用构造器的时候两者由于java语法的强制要求,都需要放在第一行,所以当用this取调用子类的构造器是,无法在用super去调用父类的构造器,否则会…

台州网站搜索排名巴中建设网站

千视携NDI 6技术闪耀2024 CCBN展会&#xff0c;呈现轻量化媒体解决方案 2024年4月24日至26日&#xff0c;北京首钢会展中心将举办第三十届中国国际广播电视网络技术展览会&#xff08;CCBN2024&#xff09;。这是中国广播电视行业的一项重要盛会&#xff0c;将有国内外超600家…

九讯鹿网站建设导购个人网站怎么做的

1、UML-4+1视图 UML-4+1视图将会与后面的架构4+1视图会一一对应上 视图往往出现在什么场景:我们看待一个事物,我们觉得它很复杂,难以搞清楚,为了化繁为简,我们会从一个侧面去看,这就是视图。而4+1视图就是分不同角度去看事物。 逻辑视图(logical view) 一般使用类与对…

外发图纸如何控制的最佳实践与注意事项

在工程项目中,外发图纸的管理非常重要。为了保证图纸的准确性和安全性,各个环节都需要有效控制。首先,标准化流程是基础,确保图纸的生成和审核符合要求。此外,使用像Ftrans B2B企业间文件安全交换系统这样的工具,…

Gitee:中国开发者生态的数字底座正在重构技术格局

Gitee:中国开发者生态的"数字底座"正在重构技术格局 在全球数字化转型加速推进的当下,中国开发者生态正在经历一场深刻的变革。作为本土领先的代码托管平台,Gitee凭借其独特的本土化优势和创新服务模式,…