有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

udp Java执行crc检查(用字节数组除以字节数组)

我在字节数组上生成了一个CRC整数,并将其转换为4字节数组。我为CRC16使用了this类,它使用生成器多项式=0x1021;,这意味着1 + x + x^5 + x^12 + x^16 我将字节数组和CRCover UDP发送到服务器。在服务器端,我想检查字节数组是否正确传输。据我所知,我可以将与crc数组连接的数据数组除以生成器多项式。我理解得对吗?在Java中,如何通过生成器多项式执行data+crc除法

我见过一些解决方案,它们只是在数据上再次生成crc代码,并比较生成的crc代码是否相同,但这可能不是crc代码的用途


共 (1) 个答案

  1. # 1 楼答案

    CRC被设计成只需重复CRC计算,但在数据字节后附加CRC字节。从Wikipedia

    The validity of a received message can easily be verified by performing the above calculation again, this time with the check value added instead of zeroes. The remainder should equal zero if there are no detectable errors.