找出校验和算法

时间:2019-06-03 14:18:02

标签: algorithm hash checksum

我正在研究一种校验和算法,大部分已被淘汰,但是最后一个字节使我难以理解。

我们有字节序列,例如:

F5 21 60 80 00 00 00 AA
E5 04 70 80 00 00 00 AA
D5 F8 80 80 00 00 00 AA

另一个顺序是

55 FF 00 80 00 00 00 AA
55 B7 00 80 91 22 87 70
55 31 80 80 00 00 84 A6
55 F9 80 80 0A 7E 82 20

第一个字节(从左边开始)很容易,它是从左边开始的第三个字节与0x80(数据部分)和0xFF之后的4个字节之和的倒数。 IE,如果我们要看第二个序列的最后一行:

~(80 + 0A + 7E + 82 + 20) & 0xFF == 0x55

我所坚持的是什么算法使我们从左数第二个字节(在本例中为0xF9)获取值。显然,这取决于数据部分,但是我不确定目前还不确定哪种方式。

我已经尝试过XOR'ing,以及各种形式的加法,移位等操作,

0 个答案:

没有答案