一.循环冗余校验(CRC)计算原理
1.定义:循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。它是利用除法及余数的原理来作错误侦测的。

2.计算示例(异或:^)
第一步:数据换算成:二进制
如:数据0x102 ——> 1 0000 0010
第二步:数据向左移位(向左移动8位)
1 0000 0010 0000 0000
第三步:数据与多项式进行“异或”循环计算
如:某通信协议有“帧头(固定0xff)+数据(10字节)+校验位(1字节)+帧尾(固定0xfe)”组成,校验位指帧头至数据段的CRC8校验,多项式0x31;出租0x00


(1)调用CRC校验位函数

import crcmod.predefined
class Crc():#CRC校验位计算def crcfun(self,hexData):#调用CRC校验位函数try:'''crcmod.mkCrcFun(poly, init, rev,xorout)---poly:多项式;INIT:初始值;rev:rev为true指被处理位颠倒;xorout:xor值'''crc8 = crcmod.mkCrcFun(0x131, 0x00, False)result0 = crc8(hexData)result1 = hex(result0)print(result1)return result0except Exception as ex:print(ex)ca=Crc()
if __name__ == "__main__":hexData=b'\xFF\x40\x0B\x00\x00\x04\x00\x10\x10\x00\x10'ca.crcfun(hexData)
------------------------------------------------------------------------------------
结果:0x30

(2)自定义求和校验位

def crc_sum(arf):sum =0for i in list(arg):sum = sum + isum = sum & 0xffreturn sum

循环冗余校验(CRC)相关推荐

  1. [2021.07.25更新]循环冗余校验(CRC)的MATLAB实现

    欢迎同步关注公众号[逆向通信猿] CRC校验(循环冗余校验) 在计算CRC校验的时候,发现一个网站如下 http://www.ip33.com/crc.html 于是,想自己动手实现该网站计算CRC校 ...

  2. 2.1.5-3 循环冗余校验(CRC)码

    想必是雪乞春华 (҂◔∀◐҂)☆万圣节快乐♬☆◥(ฅº₩ºฅ)◤ 不给糖就捣蛋 ☆(●⁰౪⁰●)没钱(*^3^)/-☆ 中午我们要学习最后一种校验码叫做循环冗余校验码英文缩写叫CrC码,这给出了他的英 ...

  3. 循环冗余校验-CRC

    一.简介 CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验.它是一类重要的线性分组码,编码和解码方法简单,检错和纠错能力强,在通信领域广泛地用于实现差错控制.实际上 ...

  4. CRC循环冗余校验(计算机网络)

    CRC循环冗余校验 CRC差错检验的过程 提要 CRC的具体过程 例题详解 CRC差错检验的过程 提要  数据在链路层进行传输时,为了保证接收到的数据比特流是准确无误的,会采用CRC循环冗余校验的方式 ...

  5. crc循环冗余校验 php,crc 循环冗余校验

    --- title: crc 循环冗余校验 date: 2018-09-26 updated: 2018-10-06 --- # crc 循环冗余校验 CRC(Cyclic Redundancy Ch ...

  6. 循环冗余校验码CRC,求解步骤

    循环冗余校验码CRC,是软考-计算机组成原理 中一种重要的编码. 下面只是简要描述求解CRC码的解题步骤,面向有一定理论基础的朋友. 直接看例题. 例.信息位: 10100110   生成多项式: 解 ...

  7. 第二章 数据的表示和运算 2.1.6 循环冗余校验码/CRC码 [计算机组成原理笔记]

    第二章 数据的表示和运算 2.1.6 循环冗余校验码/CRC码 本笔记参考书目: 计算机组成原理(第六版.立体化教材)白中英.戴志涛 2021王道计算机组成原理视频公开课 本节重点: 循环冗余校验码/ ...

  8. 计算机组成原理:循环冗余校验码CRC具备“一位纠错”功能的思考与探索

    笔者在阅读华中科技大学谭志虎老师主编的<计算机组成原理(微课版)>教材进行复习时,产生了一个疑问,并针对性地进行了一些思考.欢迎广大复习到这里同样有问题的同学(寒假开学接着考试实在有点汗, ...

  9. 一文读懂循环冗余校验(CRC)原理

    校验原理 baidu 循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的一种信道编码技术,主要用来检测或校验数据传输 ...

  10. c语言累加和校验_循环冗余校验(CRC)算法入门

    http://blog.csdn.net/liyuanbhu/article/details/7882789 前言 CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式.在嵌入式软件开发中,经常要 ...

最新文章

  1. HashMap的遍历方法
  2. 南通大学计算机专业分数线2020,2020南通大学录取分数线_历年各专业分数线(2017-2019)_各省投档线_一品高考网...
  3. 字典生成工具_CANOpen系列教程09_CANOpen对象字典
  4. 大学计算机基础操作题材料,《大学计算机基础》操作题
  5. linux缺少libeds.so,OpenSSL鏈接libcrypto.a以靜態方式
  6. matplotlib工具栏源码探析一(禁用工具栏、默认工具栏和工具栏管理器三种模式的差异)
  7. RabbitMQ(一) | MQ技术对比,以及对RabbitMQ五种消息模型的使用
  8. 因果图测试用例设计方法
  9. pdfbox / XSL + FOP 转换 PDF文档
  10. 卸载kerberos
  11. linux管道只能运输参数吗,oeasy教您玩转 linux 010212 管道 pipe
  12. 搜索引擎蜘蛛的基本原理及工作流程
  13. HTML 请输入关键字的搜索框,功能:输入时:框内的请输入关键字消失,鼠标移开时 框内的请输入关键字又重现
  14. 阿达(Ada Lovelace)
  15. k3s 快速入门 - 集群搭建
  16. [导入]ADOBE CREATIVE SUITE 4 中文全套
  17. 跨境电商学习班关键词上首页的打法
  18. python第25天_python 第25天
  19. Dalsa Sherlock 直连千兆网相机(自定义驱动)
  20. Redis--String篇

热门文章

  1. java怎么关掉定时器_java – 取消定时器
  2. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第四章 PL的LED实验
  3. 曼彻斯特编码 c语言,简单的曼彻斯特编码的C语言实现
  4. 关于java的冷笑话_有哪些用代码写的冷笑话?
  5. 即使再忙,也请坚持下去
  6. 《SystemUI》限制低电量打开手电筒
  7. ContentProvider相关
  8. matlab画多层网络图,复杂网络建模 社交网络图的一些计算代码(不全欢迎补充)MATLAB...
  9. SecureCRT 中文乱码
  10. RPC架构组件详解刨析