9 |: R3 c7 g' J/ C, ~) N
% h4 W& i" v2 x1 G0 \7 J
9 O* W- n' q8 p) y5 g# F1 r2 O
+ l& B' q3 J7 O2 ]
爱丽舍轿车仪表算法 7 u Y0 p5 Z! M, E1 h+ Z
爱里舍液晶里程表数据 (7592KM)! K# j8 w a% t9 w* d, x! E+ C
芯片型号: 93C46 0 u) i: T& ?7 A& C5 v% u, C; R5 N
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.) g0 q1 d0 R8 d: {1 X7 ?
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................7 d G5 j8 W8 P9 i0 }& S
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
! P7 s: Q* w# O }5 P00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...% W0 K3 A, x) q K) M( s! E/ C q* h
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.( d' p* g6 |; I! q2 Y' r
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
' P7 t! a6 L5 u" T. J00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
' j) {; W8 Q- {9 y, V8 t0 h00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
8 }/ I+ U; q0 X. `. A( t0 E% y2 m3 w3 N) M" V8 ~2 O
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.5 f6 j" r( |$ ]/ e8 }5 m) Q
重复四次,17为效验位。7为里程数的第一位。1为加密位。 ) y9 ]! [! N! \8 K; \) n. |" c* d
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7" n. D8 Q' I3 t& s+ {4 h5 d7 ?
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
* {5 h# ~: C% F, I. M取反的结果的低位数字就是加密字节的高位数字. o0 |5 p; C! o: u
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。+ o4 S0 N# j0 u
(7 个数字 指的是 :& h5 w% K& e8 Z3 E# h4 m5 A
加密字节的低位数字 70 J- C" S! F& o9 r
公里数的十万位数字 09 g! q; ?# g+ @! A
公里数的万位数字 0 3 p# p7 O1 Q, a
公里数的千位数字 7
1 f8 j2 z5 d9 P8 f# ~公里数的百位数字 5
5 f3 t3 R- T2 W3 O4 Z+ {* @& {2 ~公里数的十位数字 92 e1 j+ r5 m7 s0 R: h8 d b
公里数的个位数字 2+ g/ o# l- r/ F$ e: g3 E( G2 s- Y
$ c1 I/ j6 C0 ^# q6 l. I7 0 0 7 5 9 2! { T. E+ [$ j& l' j' ]) Z
)1 Z$ j! y; o5 t9 ?+ W* o
看看这个数据的计算过程:
0 F5 Y3 m ~) P: k首先可以确定加密字节的低位数字 = 7
3 e9 R; ^7 B2 M7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
2 n5 O( |1 w0 `& Y因此加密字节的高位数字为 1
! b2 [0 X( r3 D) x: O |