# {! b) v" i- d$ }( k& B$ l$ v
! m( z2 n$ n: c, g
$ [% G% {* }9 Z e $ Z2 v8 y' f' A* p
爱丽舍轿车仪表算法
1 Y |" \# v" v. |" P5 i爱里舍液晶里程表数据 (7592KM)
8 v& n. Q2 M; K1 H+ k' M芯片型号: 93C46 6 M/ O" j5 E. c, T
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
' L; I7 `) x6 O6 y8 A00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
2 `7 B% K, q, g' V, [* } [4 p' ?. n00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
8 S% [/ y; g: X2 T! ]00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...( P' g) a6 }; y) b* H8 l
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.: s! p; g1 T! y- |+ R* }8 s
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................6 A% Q- E% P% I! V" x
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
5 L* N2 L( X- c6 K# [00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................$ V! \* K) [! \, }( R: _$ Y
2 r! `0 D7 j; P8 G3 P( z, O
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.4 R% n5 r9 J) q
重复四次,17为效验位。7为里程数的第一位。1为加密位。 , \2 @1 f8 S$ J7 D& x
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7& @8 P r: o9 B" f5 x& A- ?7 X' l) Q
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,% ~$ p. D5 R4 H; p3 _# {9 L
取反的结果的低位数字就是加密字节的高位数字; n, T8 W7 g1 c: M8 ?& |6 y
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。6 [2 a0 [; }! a# L- \ u
(7 个数字 指的是 :
( K# @+ y8 b/ n" e2 O' r& R0 ~加密字节的低位数字 7
$ y) M. Y. \, i2 {公里数的十万位数字 0
4 s* h" B* ]0 p0 l+ L, x+ W公里数的万位数字 0 & L1 H/ L9 i7 k- F; M
公里数的千位数字 7 , w4 @+ f* M7 ^5 x
公里数的百位数字 5
" g9 y/ G1 V; @1 k/ M# p: l6 Z& c公里数的十位数字 9
" j. W5 [/ R; y8 |$ P+ L1 Q公里数的个位数字 2
; B I& Q- Y9 J, d. R9 }
2 H4 {! z5 W% [3 A2 U4 [7 0 0 7 5 9 27 j' o! Z+ w; k. t! g
)6 l$ i: n/ ]- o1 T& H+ I6 _! Y
看看这个数据的计算过程:
3 o" k* J: m) v+ h; M% I首先可以确定加密字节的低位数字 = 79 x% H% F6 Z2 n. }3 H
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
# u; Y- r# Q' b2 J! q2 v8 |6 M% g因此加密字节的高位数字为 14 f8 s7 i$ y/ a6 e2 d4 D0 A2 j
|