我怎么能猜出校验和算法?

5 checksum crc

如果给出了给定的代码+ CRC字符串,有人知道如何找出CRC算法吗?

我有几个字符串由代码+匹配的CRC组成,但不知道如何计算有问题的CRC,以便我可以生成更多的代码字符串.以下是一些示例(16位代码+ 4位CRC):

0010101000011101 + 0000
0010101000011111 + 0001
1000110011101101 + 0001
0000000000000100 + 0010
0011100011001110 + 0011
1000110011101110 + 0100
0001011110101100 + 0100
0010101000011110 + 0101
0011100011001101 + 0110
0001011110101111 + 0111
0011100011001100 + 1001
0011100011001111 + 1010
0001011110101101 + 1011
0000000000001000 + 1011
0000111100001101 + 1100
0000000000001100 + 1100
1111111111111111 + 1101
1000110011101111 + 1101
1000110011101100 + 1110
0001011110101110 + 1110
1111111100001101 + 1110
0010101000011100 + 1111

这些代码来自RF(433MHz)发送器,如X10产品.

我不确定这是CRC还是它是什么,但至少它是以某种方式从这些代码字符串中计算出来的.

有人可以帮忙吗?

更新:

RE:找到规格我也认为是最好的解决方案,但由于这不是选项,我需要以某种方式强制校验和计算.

这是问题,我没有规格,我无法在任何地方获得它们.我已经尝试了几种不同的校验和计算方法而没有结果,没有办法比较输入字符串找出它们的共同点,这样就得到了算法

Mec*_*cki 5

是什么让你认为它是CRC?通常,CRC不用于这么小的数据.

对我来说,这看起来像某种奇偶校验,ECC(实际上是FEC)或Reed-Solomon代码.可能是汉明码 - 汉明广泛用于工业,电信.


man*_*ana 3

猜测这个词非常正确。如果该射频设备不是专有的,请尝试阅读规格!这将是最简单的方法。

猜测所有可能的 CRC(或哈希算法)看起来不太乐观。看看这里吧。

第三种可能性是对用于生成校验和的代码进行逆向工程。

祝你好运 :)