4 v p7 Y- Z! ?7 @) [
1 i$ j- ^/ E/ q
9 j0 q0 B; H0 b3 K* B
8 z2 K( `8 ?4 \2 n" o. j9 K
爱丽舍轿车仪表算法 % r) c$ q9 T" P& U5 `8 [
爱里舍液晶里程表数据 (7592KM)
3 g; H/ L+ Z, E' T. C) h4 r8 r" r芯片型号: 93C46
7 l1 I5 D) s0 Z3 a- G00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.6 ?" u; k9 j3 r& H$ A2 c: s
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................( j$ J6 f" o) t9 H2 C: A
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
E, |: }3 `' k \. U8 G00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...2 A. n8 _! H& `/ X D2 B3 ^
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.
/ D( w6 k# M' T$ B4 s00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
: q+ r$ S+ C3 e! P8 a00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
6 A% m) T, \" b' x00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
. |- h, H! H2 p. I" ?4 p
' u9 S5 C" G& C8 h) _8 @% z00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.. V* Z- v% I. Q* @2 v
重复四次,17为效验位。7为里程数的第一位。1为加密位。 # Q+ D" G: d: h6 q/ _1 `4 b
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
5 U4 L+ a v! Q3 |& v. B- s然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,2 J, ]& v" P3 ]
取反的结果的低位数字就是加密字节的高位数字
' D' t" v2 W) H可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。) e$ g! W1 H! l B4 B" w1 U
(7 个数字 指的是 :
" N' @) L/ N1 c加密字节的低位数字 7" w+ L9 p \+ \0 ]8 @) u
公里数的十万位数字 0
" C4 u' ]+ i4 m6 z公里数的万位数字 0
. u7 y& }+ _& V- E( V公里数的千位数字 7 ; l3 ^$ K' ]5 n: D: i
公里数的百位数字 5
% q( S+ @' ~) f( v0 j' u2 M# A4 @公里数的十位数字 9
9 _1 M% Y: O) Y2 Q# m$ {公里数的个位数字 2
: j* F; c/ L! p& J, H! M& [- F8 `7 b2 p: n+ S1 ^1 U* L
7 0 0 7 5 9 2
- @$ h2 ^. P# T8 F7 T)
$ H' W& j6 R q# Y+ J g. M% x) b看看这个数据的计算过程:" g0 J0 [' x' p2 p
首先可以确定加密字节的低位数字 = 78 d3 o, j. D* ]. b m( G) ^3 B+ J* y
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
6 [5 b9 }: |/ N D因此加密字节的高位数字为 1
6 V. R! R, O! p3 _1 X' Y$ r0 j+ M |