9 t9 N( ?. N5 j; ^9 f/ V2 M+ a: C9 @3 o
( \; B, S9 ~8 ^% v7 E
% F1 i7 @( P8 y3 \! z爱丽舍轿车仪表算法
1 ]3 i6 r% Z H爱里舍液晶里程表数据 (7592KM)
& V/ @1 h( v* p3 h! F芯片型号: 93C46
7 ~, \( K8 A' O# l. w) A; T0 J00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.- K2 a% U# N1 P0 J2 ]0 @
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
" C6 q1 A. X* T00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C3 w& f$ F! M* j, w; v: w
00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
& M6 K }$ H! ^7 E1 ?/ Y- V* k7 k00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.3 a% Q: c# {9 b3 j
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................ |( K. f# p! }# X0 I
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
) d1 X& d/ c6 I o# r00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................. _9 q1 U2 S z6 @* _, B
. s) E, Q) @+ ]( t7 d00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.0 G' Y- E3 y- V
重复四次,17为效验位。7为里程数的第一位。1为加密位。
" m; {" t: @) `首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
Y. H; m6 e9 [9 D$ d* ?然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
/ a, Y, ?- P {8 }5 c- P1 d取反的结果的低位数字就是加密字节的高位数字
0 I/ d/ z( X2 l0 @8 u" s3 I可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
# t7 \6 c; ]+ Y(7 个数字 指的是 :1 \3 x, [! ?) x% g
加密字节的低位数字 7
" U" S; I/ Y w. b4 v9 p公里数的十万位数字 0
1 ?% ^% b/ R0 O8 v P0 N! w$ I公里数的万位数字 0
; h0 i' {5 R5 ~' o, W7 O2 `; r公里数的千位数字 7
' q- i, W& \% x2 r3 T& h1 ?, |公里数的百位数字 5
' z; n8 a* z; X+ n1 V( j% T; O公里数的十位数字 95 U6 O2 I9 S# F; {8 U9 z
公里数的个位数字 21 p( b3 z Y" b C) g/ p3 l
" Q, C! Y/ N( ?1 A$ a
7 0 0 7 5 9 22 h4 X: Z: K6 Q& T
)& V. g" }. }+ g
看看这个数据的计算过程:
8 n' S1 v4 G6 S首先可以确定加密字节的低位数字 = 7
3 e1 d( j5 Y' ^! {5 H7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1 p; k2 X: s- @0 d* o$ V
因此加密字节的高位数字为 1
: y# e& @2 I3 Y% ~5 J }% Z |