% J q4 r% x1 S( n: m
; n1 O f) T2 o5 w6 x' l, H+ I
& W7 d/ y6 a" _$ S0 v/ T 5 I) c: M% v( v: Z n- _6 |3 t
爱丽舍轿车仪表算法 : t+ W9 Q4 `; x3 o+ b: E3 I
爱里舍液晶里程表数据 (7592KM)
& f" Y! p+ \# Y2 G! C% P芯片型号: 93C46 . a5 u2 G, G% Y, t4 e
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
- |' G+ q3 }6 _0 c: [* l# c% U00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................/ D# T: d9 o; M' [- ]" @
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
$ \2 z* B" j+ q: a, y1 R5 H* a) c00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
- x0 {6 |1 ?& I4 ^3 e3 n, G00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.
- i0 ]6 L* f7 X* m- b0 V8 E B" P00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................2 Z; h2 F2 K% p8 q8 d. I
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
2 L d! l5 X. ~ E+ B# P, A3 U, k4 [00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................& x1 J/ x# W$ W/ `/ H
, t. [, g: J+ k! r00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.0 a( E, A, I; F+ a; z$ D0 @" S% r t
重复四次,17为效验位。7为里程数的第一位。1为加密位。 2 u0 C$ |! I& T$ U
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
: M! y6 A! C5 G) a( E& E/ |) n6 ~然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,. x# ~# V0 {/ W; F! b8 Q, g& p
取反的结果的低位数字就是加密字节的高位数字
$ F1 ~1 O' m2 p" D可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
1 ~7 N, P. s8 N; g$ J(7 个数字 指的是 :& C+ d. c6 q9 p' `
加密字节的低位数字 7
`4 H! t' O3 i5 V公里数的十万位数字 0) s+ _" m5 G0 p" ]$ \
公里数的万位数字 0 8 l' \" U, L, N4 y' c2 _ I, [
公里数的千位数字 7 2 o6 F6 v4 k. y8 i( P# g/ t( K
公里数的百位数字 5
0 M+ t& J* C, I9 d2 a4 v% B公里数的十位数字 9
4 T9 m* t3 F4 d1 r: D `2 m9 j公里数的个位数字 2
9 i0 M6 m' z' ~! ^4 ?( g. T( C& s) q( r1 p. u6 {7 l% D& k; E
7 0 0 7 5 9 2( a# L4 b+ Z: d; Z
)5 e. p+ a, {4 ?
看看这个数据的计算过程:
' M0 o6 G2 P. V9 q7 `首先可以确定加密字节的低位数字 = 72 z' Q7 s( t3 {0 G/ D1 j
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
C$ l7 b* P4 U6 o2 g* C& \因此加密字节的高位数字为 1
1 a; d8 z* `0 L/ U, p" H |