7 H- L3 a+ I( U8 @* ?, L; j5 F. q9 n9 }
% ?. T5 u3 o. j: z
! f; ]! O% F8 ?3 U2 N: ^, y爱丽舍轿车仪表算法
, y0 Z8 V5 b$ O/ ?( j1 ]! Y爱里舍液晶里程表数据 (7592KM)
C+ q4 S7 c$ Z( `8 _芯片型号: 93C46
O- R' S, q; G' m4 x00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.) n$ n) X8 x) g- Z! s
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................) J2 X, @& a0 _2 ^
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
; P. z( Y# N9 X+ ]$ O" i" [00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
+ `$ V6 {/ B9 C9 |2 O) \' y00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.1 c, b# z- [" \1 e- G
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................: n ~( I/ r/ @7 t9 Q8 y& P: Z
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....! e4 }9 f4 B# ]
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
. Q. l& J- Y- J; S& ?: H
& T9 O) U9 }1 F4 h2 J. c$ C. } _% Z00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
4 o& [: Y' M8 ?- r+ G5 ~( |重复四次,17为效验位。7为里程数的第一位。1为加密位。
, Z9 S3 D9 v, ^8 D1 \首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7* w& w7 E* O4 @9 _$ e2 U: y
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,- Y7 q, J" g- N
取反的结果的低位数字就是加密字节的高位数字
1 |* G" k: F: D" f0 A% _可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
0 \/ e: y7 E# L i& c4 }(7 个数字 指的是 :
6 q3 N3 A+ q4 ]1 r2 s加密字节的低位数字 72 s, `2 U, g6 F& t6 Q6 S; C* Q! j
公里数的十万位数字 0
4 i, i' B# s2 J5 m" x5 V& t( \8 X公里数的万位数字 0 4 I! M! R! U# S7 O5 l+ a9 r
公里数的千位数字 7
- o; h4 w* h9 u9 v1 W' z0 ?公里数的百位数字 58 z) m$ P4 Z, d6 S8 V
公里数的十位数字 9
" V1 x5 S7 u, P( M8 Z! p& T* b公里数的个位数字 2
: A/ w; ]. e3 F! O: ?
& O7 m5 W% w0 j& }) D* d7 0 0 7 5 9 2
& q1 r3 H z0 W; b)
3 r' e0 H$ b( N) J6 h看看这个数据的计算过程:2 ~& [6 L! r7 B; c2 W' f2 }
首先可以确定加密字节的低位数字 = 7
. @7 ~$ F) k' G* c+ h7 c7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
/ K, \% O7 V' G& s. c; N% O8 h因此加密字节的高位数字为 1
1 `) W* ]( r+ ~7 h* S |