; Z R: ~- ^1 c
! r0 V% P3 S# |- s8 S
0 S9 C7 f5 V3 @/ V5 A: r& N
% x) h* t) A# O. j8 c爱丽舍轿车仪表算法 . v0 f' k: P/ h+ R) h" a
爱里舍液晶里程表数据 (7592KM)
6 X2 A; ^4 d! t( |. V3 a7 o芯片型号: 93C46
0 c! Y$ t* K; s. W+ y5 K) U00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.- X _: ?% V5 q- M3 Z
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
" A9 J) B. O1 m& S3 `* O. U00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C: p3 {7 ~3 Y2 P/ z
00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...: t* _1 v) K, X
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.8 C8 o0 Q8 V5 [: f
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
% @( |2 s& P; }, \6 i) B00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....5 x$ g% E: {% U+ ^4 O! w4 D6 W
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
+ O* F( b0 V6 s" N: g) g0 D4 T# f* E- k3 z
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
& Q) D: p2 v k+ H4 W重复四次,17为效验位。7为里程数的第一位。1为加密位。
1 h2 @, z9 A5 {, ^' ~+ k0 ^首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
8 L7 c' D. v2 L! h. s4 r然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
0 z( A* j9 N/ Q8 s2 i取反的结果的低位数字就是加密字节的高位数字. d' m2 i9 S ~5 ]- u
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
" Q6 H. I+ p9 C; ~" ~(7 个数字 指的是 :% T: f$ J- x( ?" O }( {
加密字节的低位数字 7
o3 R: R7 Q$ z4 r& B( y- B9 r公里数的十万位数字 0
; \& j, S2 j1 Y公里数的万位数字 0 7 E/ A6 ]' w! r
公里数的千位数字 7
- d p3 O6 M0 _; x( q) g公里数的百位数字 5
% Y* j+ ]% J9 c( y- j7 Q' T" Z公里数的十位数字 9. W. X, F5 i1 s/ w' s% G& v
公里数的个位数字 2% _: ]! h" e* z i( B1 M4 H
: Q8 N6 G& o) a0 D& U, L* Y) z7 0 0 7 5 9 2, D4 B/ u$ G4 f2 y8 R* `, R
)! R, ~" {4 J j* E: i" i
看看这个数据的计算过程:4 y: s6 h$ L; ~- g
首先可以确定加密字节的低位数字 = 77 |+ N7 g# a* b% e& D6 R8 L
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
1 B( s4 J9 |4 R9 s5 }3 ?/ J" r因此加密字节的高位数字为 1
4 J* `' h+ \' W2 x" z9 u |