phpIsNumberOne
V2EX  ›  问与答

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

  •  
  •   phpIsNumberOne · Feb 4, 2021 · 891 views
    This topic created in 1930 days ago, the information mentioned may be changed or developed.

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

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

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

    2 replies    2021-02-05 10:22:55 +08:00
    phpIsNumberOne
        1
    phpIsNumberOne  
    OP
       Feb 5, 2021
    ??没人知道吗?
    phpIsNumberOne
        2
    phpIsNumberOne  
    OP
       Feb 5, 2021
    解决了,https://stackoverflow.com/questions/58393307/verification-of-a-crc-checksum-against-zero

    CRC32-IEEE,你把原始数据+校验码(LSB)拼接的数据,再进行一次计算,结果应该始终等于 0x2144DF1C
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5077 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 01:19 · PVG 09:19 · LAX 18:19 · JFK 21:19
    ♥ Do have faith in what you're doing.