& h Q8 `# g1 W, q( O2 e
4 \/ Z1 D6 x4 ^6 l# i0 X, M% _
; E7 K, u+ G8 \
6 n) p" p1 S1 t, J爱丽舍轿车仪表算法
0 f7 I7 W, G! S3 o' b9 j8 ^& m0 c5 M爱里舍液晶里程表数据 (7592KM)
7 w1 n, E' \# ?+ \芯片型号: 93C46 . T6 \! u7 L0 B ~' J
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
0 h! b3 y! r; @00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................, L+ c: x' f- }( h2 E/ {8 M$ m
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
# U* w$ T' \1 x% J5 _/ U00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y..." ^+ |; f8 `1 e3 _5 Y* @; N
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.
- l! m) O2 h# G4 N+ d a9 a00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................% [* }8 h. o" q8 m7 O: ]0 m+ A
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
% f$ D6 `( `0 k$ z7 I9 t6 g; \. f00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................6 `3 v. ?$ O/ K5 R/ M; V
! l) j7 q0 r7 y( D4 n
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.* d7 B2 g& a7 u- e
重复四次,17为效验位。7为里程数的第一位。1为加密位。
: C j1 i# v; S d, H4 z首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7: w( R4 ~0 ~& _. ]% j* L# S8 f
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
% u% Q7 {/ e- ^3 m# n b' _, O取反的结果的低位数字就是加密字节的高位数字% @' {) V. {4 z; f5 ~
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
5 }( l' f/ A4 x- b5 z: z(7 个数字 指的是 :8 Q4 e) o: Q) I
加密字节的低位数字 7
+ N2 w( u# i% z4 e! [3 y公里数的十万位数字 0
+ d! d0 [6 ^! h% d公里数的万位数字 0
" W$ i: V+ J+ n公里数的千位数字 7 5 h: [+ |1 h1 E% v0 v0 X3 X J
公里数的百位数字 5
+ R G9 [. T, G$ ?! d公里数的十位数字 9
8 S; I; P& z+ E9 V, O% D+ ~" X公里数的个位数字 2/ t, ]# a' Q. d5 B' H+ w8 r4 r
% T/ @& c: Z; I; e& n
7 0 0 7 5 9 2
* f! N( b' E# @/ ~/ c, z)' U$ d$ O- v3 {5 z1 j+ J- ]6 R
看看这个数据的计算过程:1 o5 q% @% [ Q2 B4 D
首先可以确定加密字节的低位数字 = 7) ~- R6 R& {4 H/ W& \
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
2 a' [) {& Y8 { _. _因此加密字节的高位数字为 1
5 x1 J- V; I2 F |