【原创】验证:CRC-8循环冗余校验

验证网址:

http://www.ip33.com/crc.html

标准CRC-8验证

需要校验的数据:abc
数据的十六进制:61 62 63
参数模型:CRC-8
宽度:8
多项式表达式:x8+x2+x+1
多项式:07
初始值:00
结果异或值:00
输入数据反转:NO
输出数据反转:NO


校验结果:5F


将0E添加到校验的数据后面:61 62 63 5F,重新计算校验结果为0.
校验完成

CRC-8/ITU验证

需要校验的数据:abc
数据的十六进制:61 62 63
参数模型:CRC-8/ITU
宽度:8
多项式表达式:x8+x2+x+1
多项式:07
初始值:00
结果异或值:55
输入数据反转:NO
输出数据反转:NO


校验结果:0A


将0A添加到校验的数据后面:61 62 63 0A,重新计算校验结果为F9,不正确

将校验结果0A与结果异或值:55再次取异或,得到5F,也就是结果未取异或前的值。

将5F添加到校验的数据后面:61 62 63 5F,重新计算校验结果为55,然后与结果异或值:55进行异或,结果为0。
校验完成

CRC-8/ROHC验证

需要校验的数据:abc
数据的十六进制:61 62 63
参数模型:CRC-8/ROHC
宽度:8
多项式表达式:x8+x2+x+1
多项式:07
初始值:FF
结果异或值:00
输入数据反转:YES
输出数据反转:YES


校验结果:24


将24添加到校验的数据后面:61 62 63 24,重新计算校验结果为00。

校验完成

CRC-8/MAXIM验证

需要校验的数据:abc
数据的十六进制:61 62 63
参数模型:CRC-8/ROHC
宽度:8
多项式表达式:x8+x5+x4+1
多项式:31
初始值:00
结果异或值:00
输入数据反转:YES
输出数据反转:YES


校验结果:42


将42添加到校验的数据后面:61 62 63 42,重新计算校验结果为00。

校验完成

总结

  1. 都为CRC-8,但参数模型不一定相同。
  2. 多项式,最高位为宽度数组,即x8,最低位为1.
  3. 初始值不影响再次校验。
  4. 结果异或值,会影响校验步骤。
    4.1. 再次校验时,需将之前的校验计算结果与“结果异或值”进行再次异或,取得未参与异的原始校验值。
    4.2.将“原始校验值”附加到原始数据后面,再次进行校验,得到一个与“结果异或值”相同的数值。
    4.3.这个数字与自身(或者“结果异或值”)进行异或运算,结果为0,通过校验。
  5. 输入数据反转、输出数据反转,对于一个字节(8位)来说,其实就是把输入数据中每个字符中的二进制进行一次倒序重排。通常情况下,这两个保持相同状态(同时选,或同时不选),不影响再次校验。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵庆明老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值