关于 CRC 循环冗余校验的问题

2021 年 2 月 4 日
 phpIsNumberOne

我们上学的时候老师是这样讲的:
发送端将校验码追加在数据最后、然后一起发送至接收端
接收端收到数据后用生成多项式进行模 2 的除法,如果余数为 0,则无差错。

我在想接收端能不能对原始数据再计算一次,比较两次的校验码是否相同来判断?就像 md5 那样

由于通常的 CRC 协议,如 CRC32-IEEE 它会进行额外的操作,如字节翻转,结果反转,结果异或等操作,参考。如果要按照老师讲的方法,还得先对结果进行逆向操作。包中只有生成的方法、没有校验的方法。

830 次点击
所在节点    问与答
2 条回复
phpIsNumberOne
2021 年 2 月 5 日
??没人知道吗?
phpIsNumberOne
2021 年 2 月 5 日
解决了,https://stackoverflow.com/questions/58393307/verification-of-a-crc-checksum-against-zero

CRC32-IEEE,你把原始数据+校验码(LSB)拼接的数据,再进行一次计算,结果应该始终等于 0x2144DF1C

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/751408

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX