Checksum:
总和检验码,校验和。在数据处理和数据通信领域中,用于校验目的的一组数据项的和。这些数据项可以是数字或在计算检验总和过程中看作数字的其它字符串
它通常是以十六进制为数制表示的形式,如下图,的校验和是: 66(十六进制)
如果校验和的数值超过十六进制的FF,也就是255. 就要求其补码作为校验和.
通常用来在通信中,尤其是远距离通信中保证数据的完整性和准确性.
在该项,采用异或运算去计算,英文为exclusive OR,缩写成xor:如图:
同时滚动发送的CheckSum值,也增加了信息通讯的安全性。
CheckSum的计算:
如图,计算方式是Byte0+Byte1+Byte2+Byte3+Byte4+Byte5+Byte6
换算成二进制
0010 | 0010 —22 |
---|---|
+ 0010 | 0000 —20 |
=0000 | 0010 |
+0100 | 0000—40 |
=0100 | 0010 |
+0000 | 0000—00 |
=0100 | 0010 |
+0010 | 0100—24 |
=0110 | 0110 —66 |
0110 0110最后换算成十六进制就是66,
同理,我们按照以上计算逻辑,去计算验证软件对应CheckSum的对于滚动值的正确性:
1001 0110+0000 0110 =1001 0000 换算成十六进制就是90,所以CheckSum计算正确