) |/ x0 ~% q0 z) M' @ ^+ {) |& q* f1 @2 ]
7 T2 a% i& c) u( T* R k" e2 ~3 s
7 Y" Z3 [2 |" s7 D3 ]4 i/ A爱丽舍轿车仪表算法
1 p( p9 N' C* C5 _* N爱里舍液晶里程表数据 (7592KM)
! I" G4 B% K5 C( }( N7 x! i芯片型号: 93C46 $ d5 a/ {$ E$ d% h
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.8 H. y( G/ w% |! t) W7 Z" G
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
1 u& M j7 J p& x' b `/ m8 U( N00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C" v+ j3 N; j7 \6 h& ~) a1 `
00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
; Y9 z& j1 A8 S7 A# s00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.( _ ]4 E z& H# l2 D q
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
+ u2 @9 r7 `" Q0 G: D00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
/ @6 n7 T$ _% q% G' a00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................2 [( q" l' D. F% Y# n
% G- u7 n& u( n- C00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
8 x- R0 m. y q( j7 z6 D重复四次,17为效验位。7为里程数的第一位。1为加密位。 6 [6 b+ s: D6 G' n$ G
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
8 F% }) l4 ~( h, p# Y/ `然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
5 ]- H5 W, I3 g7 s# P6 q3 }取反的结果的低位数字就是加密字节的高位数字 L. O* R; a. Y; d5 B6 I
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
' D* `% y! @: s# {8 n: {(7 个数字 指的是 :# n1 y7 Z2 t2 Q
加密字节的低位数字 7
/ Y* Z: }# |! F% a3 ?+ `& }公里数的十万位数字 0
! }: q' F! @' Z( F' w& a8 \公里数的万位数字 0
5 d/ c2 `2 e' C+ |' W% b公里数的千位数字 7
# K; ]' _ l( P公里数的百位数字 5
. W/ r! d+ b7 w, x( f公里数的十位数字 91 ~% A; A; L3 \% \4 E
公里数的个位数字 2/ u, P5 H5 V8 `! g( s
% O$ B0 ~# ^' p; B9 P& g
7 0 0 7 5 9 2; P1 c: q& \8 T$ B- s4 Q' R
)1 H: V- d& H: r- u9 E
看看这个数据的计算过程:
( F9 S# v# o- _9 n d. c' q2 C: ?首先可以确定加密字节的低位数字 = 7
" f9 [& d6 r9 x7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1, e! |% A; ]) x* D! w
因此加密字节的高位数字为 1: t! ]* R$ ?0 d: {- ?5 p% f
|