) C& N) g6 Y$ {$ P# g
0 P2 L- x& T; _2 h 4 L/ v2 j( c0 b
; K) }& ^5 M; d P5 q$ p* s$ T5 V
爱丽舍轿车仪表算法
& J9 R3 m/ L3 V- a/ k6 {) l7 N2 ~# y爱里舍液晶里程表数据 (7592KM)
$ P( P9 k* _- D. d1 ?" [' [3 ?芯片型号: 93C46 + F+ d2 h2 B7 r! i
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.8 T o5 ?& n' s, F
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................$ p6 w% D4 V8 _ |
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C& F/ ]$ M0 D8 a, b
00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
. P( p0 o- O" I00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.6 s1 n0 f3 T5 P- \
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
5 u, O" y3 o' E4 _4 P00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....2 Y$ p! L, T. g. g! c" ?3 A
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................5 {- \$ a$ ?& w6 K1 `: i# Z
! ]6 g" c: y. }+ w00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.( z* W9 z8 y" Z* y0 z% h
重复四次,17为效验位。7为里程数的第一位。1为加密位。 ) S! J) p* [" k$ q @
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
9 F* J2 L' L/ j: o然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
% k6 f+ \+ f$ ?取反的结果的低位数字就是加密字节的高位数字0 _( K+ e' _) R, X @. c8 j
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
, k8 I! N, v5 R5 F) d(7 个数字 指的是 :- |$ ~6 d- x( C- s- i4 Y* g
加密字节的低位数字 7
, E2 ]/ i: ]$ W+ o公里数的十万位数字 0
" Z/ }/ m! s+ ]+ f公里数的万位数字 0
, A2 M' f. v7 ^公里数的千位数字 7
/ c/ C$ [; `( H$ A ]5 k ?公里数的百位数字 5* _! q% @/ l) ~+ O% w
公里数的十位数字 9
2 y# k+ z @2 b公里数的个位数字 2- \- u. x/ f4 k
2 M: l1 f& @; w) c$ e1 t4 c7 0 0 7 5 9 2: T& w M; {( M1 M! r! E
)' Y4 U7 y" Y* N# A+ N( `! ]1 l
看看这个数据的计算过程:
! O/ c) D1 {4 T) {' F* Z2 }: h1 |9 F首先可以确定加密字节的低位数字 = 7& c% W& u2 _* ~2 D: t' R
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E11 z q' D3 u+ a* R& Y, }0 r
因此加密字节的高位数字为 1* k; t7 M( ]* }
|