-
-
[求助][求助]前辈们解惑第15、16位校验码
-
发表于:
2022-1-8 18:26
16459
-
单位的热水房刷卡机,是企业福利免费使用的,卡用光了去办公室免费充,不是钻空子也不涉及利益,而且现在可以直接复制来用不用再去跑办公室。最近迷上了算法和校验,于是就想作为示例研究一下,研究了好久发现了一些矛盾的地方,恳请前辈不吝赐教,万分感谢。
剩余437.88
8 扇区
0 区块: 9F B7 0C AB 00 48 00 26 00 00 00 00 00 FF 1E 06
(第3、4位表示余量,0C AB逆算=AB0C=43788)
(第5位固定为00,第14位固定为FF)
(第2位=第3位到第5位的累加和:B7=0C+AB+00)
(第6位=第2位取反:48=NOT B7)
(第1位=第2~15位的异或和:9F=B7~..XOR...~1E)
(第15位=第1~14位的异或和:1E=9F~..XOR...~FF)
(第16位怎么算也算不出来)
然后发现了一个矛盾的地方,第1位需要15位来运算,可第15位无第1位又出不来,第16位算了好多天也没开窍...
同一张卡,还有几组其他的数据也是这个规则,如下:
剩余438.00
87 C3 18 AB 00 3C 00 26 00 00 00 00 00 FF 12 06
剩余437.94
87 BD 12 AB 00 42 00 26 00 00 00 00 00 FF 18 06
剩余437.88
9F B7 0C AB 00 48 00 26 00 00 00 00 00 FF 1E 06
剩余437.82
AF B1 06 AB 00 4E 00 26 00 00 00 00 00 FF 24 06
剩余437.76
A7 AB 00 AB 00 54 00 26 00 00 00 00 00 FF 2A 06
...
剩余437.58
5E 98 EE AA 00 67 00 26 00 00 00 00 00 FF 3C 07
剩余269.22
07 93 2A 69 00 6C 00 13 05 00 00 00 00 FF 52 04
求前辈指点迷津...已经好几天没睡好了...感谢
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课