$ H( ^8 T# B5 l% R1 X) G# J
" L1 }" l3 z9 v! v1 k# F: w
2 r# J' ^9 D4 @0 l * `- t6 ~1 ?* Q
爱丽舍轿车仪表算法 . P" o: n: l' C {6 k" Y
爱里舍液晶里程表数据 (7592KM)
8 D- k' u& D0 G. ^$ s+ }4 U芯片型号: 93C46
, ?% O. ~- k- P" B0 B00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.1 U' Q* Q7 p4 n6 W) v
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
% k$ a ^8 V0 Q! S3 W/ R00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C7 N B) }6 I1 R C- e. L
00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
7 M. @7 j% J$ ]: S2 d( d' t00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.
8 S6 \ g8 p& V( O6 D$ V00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................$ a8 b/ J( q; I
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
/ Z4 i, T, Y6 C2 v; j8 Q& v+ b& B00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................8 ^* t6 W2 x% H( U9 d U
- e" y S& {/ P9 d8 m# H
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.+ o. m8 L4 \9 f2 S. T. {3 J% h
重复四次,17为效验位。7为里程数的第一位。1为加密位。
9 ^2 t; x; }$ v( g* r% X; L首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7) l" L( q$ X7 `$ H+ U
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
" K& v i1 K! P& |* p取反的结果的低位数字就是加密字节的高位数字- f) D2 J( A, b
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。" { E' ~+ E: T1 a6 O. I
(7 个数字 指的是 :
4 y4 F# D1 _/ A( x1 J加密字节的低位数字 79 L: M7 v8 u1 _, d& m- U7 @- G" w
公里数的十万位数字 03 W$ R: N0 J W7 [) f7 _
公里数的万位数字 0
4 E. M1 s |, J* \! j& ^" B公里数的千位数字 7 2 k4 ?1 u. D7 e1 S4 C, ~3 R
公里数的百位数字 5
/ L7 k; ?/ u5 L/ H# Q& i' w `" v公里数的十位数字 9+ g1 z4 f( G" A
公里数的个位数字 2( Z- d1 b) L2 y( {+ ~$ u+ w
. w/ M1 T1 O5 I, [3 }( s" K7 0 0 7 5 9 2
) r2 m- J# c; ?6 o9 w$ i)1 J+ w7 @9 L0 V6 n- q' s$ V
看看这个数据的计算过程:2 z6 d7 D1 M m/ C* p
首先可以确定加密字节的低位数字 = 7
. t/ \) K/ x7 H) c; q7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E10 A' b% @" w9 P; b1 o# C
因此加密字节的高位数字为 1* J2 N2 p. F5 g4 ^
|