. j0 x5 W6 o' m' }) N% x6 M$ [9 {2 ?6 c. y8 N
6 i1 e+ V( M. v3 V9 T: S
% `5 j4 g9 G7 u) b1 q+ J
爱丽舍轿车仪表算法
6 X1 i% Z2 N8 C0 V9 r爱里舍液晶里程表数据 (7592KM)
. P# D. A: ?0 a! [芯片型号: 93C46
* N7 [0 ~/ _6 i& \00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.$ N: K4 y$ N V& N0 @0 L2 u
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................) D1 f) W5 ^: E+ G9 A5 F
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
1 w7 G% d2 p( H; [9 |3 b( P00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
+ `. m* b9 r. I6 R# p00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.) o' z2 H; N; F0 S w5 g7 a
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................" ~5 E* }/ r! ^
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
1 p' W* Q/ D: s8 H00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
( ^) S) T2 z; K' E- T+ V. q
2 D2 Q0 U+ l" h: e00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
9 ~& t( ] M0 K, X ~( ^+ ` N4 c重复四次,17为效验位。7为里程数的第一位。1为加密位。 % B, {% m% ]7 z% O: x) M; M7 D5 p
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7+ I( |- R' f7 |* i/ J4 U
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,2 t2 ]0 e% I' F1 ~: r7 u
取反的结果的低位数字就是加密字节的高位数字
, i" s& n; T6 L; }可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
* n4 w$ \. u; g(7 个数字 指的是 :$ V& R9 p P" G1 A/ [. ^, K
加密字节的低位数字 7
7 z1 D, x3 a* H7 @' s' G4 D公里数的十万位数字 0
3 k6 z) s A" X; ~; K公里数的万位数字 0
+ P5 u2 [+ x% r: a$ v$ P' `公里数的千位数字 7 2 u) D' y. M. A% V3 S1 f5 o
公里数的百位数字 5
1 a% B" E) T; E$ V9 H- O$ f- t/ K公里数的十位数字 9
5 }2 l2 h; @! @( Z8 K9 ^+ h公里数的个位数字 2
$ Z1 P Q+ C, ]# s
4 w" k+ ?8 b# L# L7 0 0 7 5 9 2
1 L# f0 M4 _4 ?8 i5 S3 w); E' [! k6 G6 d! F9 H
看看这个数据的计算过程: G" |5 o) f0 o
首先可以确定加密字节的低位数字 = 7
7 O; ~8 P9 E: k3 ?7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
2 [+ }1 g* C8 U. o) \因此加密字节的高位数字为 1
/ Q/ @- k& o- E2 v- z5 { |