某某水卡数据算法

## 第一张卡
-----------------------------
金额 | 扇区数据
:--- |:---
56.77 | 3C 48 2D 16 05 B7 00 00 00 02 02 00 00 FD 00 B7
56.65 | 35 37 21 16 00 C8 00 00 00 02 02 00 00 FD 00 C8
56.15 | F8 04 EF 15 00 FB 00 00 00 02 02 00 00 FD 00 FB
56.00 | F7 F5 E0 15 00 0A 00 00 00 02 02 00 00 FD 00 0A
55.00 | 6B 91 7C 15 00 6E 00 00 00 02 02 00 00 FD 00 6E

## 另一张卡
-----------------------------
金额 | 扇区数据
:--- | :---
12.20 | C1 C8 C4 04 00 37 00 00 00 01 01 00 00 FE 00 38
10.00 | EA EB E8 03 00 14 00 00 00 01 01 00 00 FE 00 15
00.00 | 01 00 00 00 00 FF 00 00 00 01 01 00 00 FE 00 00

## 算法分析
-----------------------------
- 第三位和第四位是金额
`2D 16 -> 162D -> 5677 -> 56.77`
- 第二位是第三位, 第四位, 第五位的和
`48 = 2D + 16 + 05`
- 第六位与第十六位是第二位取反
`B7 = NOT 48`
- 第一位是异或第二位到第十五位的值
`3C = 48 XOR 2D XOR 16 XOR 05 XOR B7 XOR 00 XOR 00 XOR 00 XOR 02 XOR 02 XOR 00 XOR 00 XOR FD XOR 00`


## 引用
-----------------------------
- [水卡算法分析](http://bbs.pediy.com/thread-217379.htm)

posted @ 2017-06-25 23:29  jiftle  阅读(4897)  评论(0编辑  收藏  举报