我对我在应用程序开发过程中所做的观察非常好奇。长话短说,我正在制作一个应用程序,用来读取智能电表中的数据。它们的请求框架如下:
7E [hex-address] [crc1] [cmd] [crc2] 7ECRC的algoritm是CRC-16/X-25,它们应该计算不含7e的帧的整个左侧部分,因此crc2包含crc1。我注意到,所有时候,crc2对于任何cmd都是一样的,甚至有不同的hex-address。我使用了克拉卡尔克工具来确保。复制步骤:
对于任何字节数组,这个CRC都是相同的。为什么会这样呢?这个现象有什么名字吗?
发布于 2019-06-21 00:47:20
CRC再次
如果将CRC追加到数据并再次计算,则结果是一个常量值。如果CRC不是post可补的(xorout = 0),则结果是零,但是在本例中是后置补的(xorout = 0xffff),所以结果是一个非零的常量,在本例中是0x0f47 (假设没有发生错误)。
https://stackoverflow.com/questions/56692867
复制相似问题