9 L5 ]) H. @8 U: R3 @4 r; o( g+ x' s3 M1 f7 B: E
2 y6 R, g9 s" x. U) ]3 y$ u
0 `' K2 K3 j6 u% C1 H爱丽舍轿车仪表算法 ' c0 m I( Z# N. O9 i
爱里舍液晶里程表数据 (7592KM)
5 d. x, J1 `& U; F- C: n& p0 \8 E芯片型号: 93C46
: B: i- z0 Z8 [- \5 k00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
. ?/ v; R$ s- w" Z00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................0 w% ^) D: {5 Y( F
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
2 I+ e5 `: L) L! i/ h. D00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...% Y+ ^ t" t, z+ e% D; |
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.8 h$ j6 D- ]2 O% r F3 w
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
9 b. C# g' i% j m) g2 _) E00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....7 T2 `3 b, F8 l+ @+ }. e
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
( \0 ?: `% j1 k+ }% H9 a8 H1 H5 C# ]. _ y) f& ?, S% x
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
9 _ \+ _6 }) `/ Y# k重复四次,17为效验位。7为里程数的第一位。1为加密位。 $ F3 |* }$ L7 K2 X5 @+ _
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7" }8 C8 \" t' ^: |
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,( a1 o7 s4 ~5 }/ I* v7 b
取反的结果的低位数字就是加密字节的高位数字
6 W7 ]& i8 ]3 \1 k可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。, G1 |, c- c$ I6 b- C
(7 个数字 指的是 :! ^& c1 X2 O! o+ w& M
加密字节的低位数字 75 T9 D* }! }& N$ [& m: y
公里数的十万位数字 0+ `- p# z9 z3 _7 X4 C
公里数的万位数字 0 + n0 a/ z. D9 k- T. w0 u
公里数的千位数字 7 % J5 _* m% N' U
公里数的百位数字 5
# n5 f+ p# Z9 C; e4 X0 `9 t公里数的十位数字 9
) F5 q3 K8 n/ k/ v6 e公里数的个位数字 2
: `* S) W0 O, e7 r5 \: K; H5 J, p) m7 t2 p7 y* N
7 0 0 7 5 9 2
/ {1 \9 M& O5 ]2 ]1 Y)
+ j* @9 F* z6 i3 D. m2 X- t看看这个数据的计算过程:
. p$ P: u" m4 N8 ]" m% R |首先可以确定加密字节的低位数字 = 77 _0 q* z @# y7 \3 J5 E# Z" p' d
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
s) |2 q! ~$ z& I0 q4 _因此加密字节的高位数字为 1
2 Y# q3 w1 \2 X |