, x1 q G1 c8 d( N
: j2 [, {' m8 X
0 ^* ^! j; d2 W6 P 3 s# [" i9 S" }9 g* l N# x
爱丽舍轿车仪表算法
; B3 p) f& f7 k4 |爱里舍液晶里程表数据 (7592KM)$ H7 N6 C! `+ O% G$ f
芯片型号: 93C46 : R7 w0 X0 [* y& J2 ?
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
3 r7 _, B4 S' N3 ]2 _+ f00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
& o5 s4 z) q, ~5 a" I00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C! v# R& V6 Q; d) P0 N
00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
7 b% x7 A9 W+ k( {6 O00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.
3 \% G {' R% w; c9 I" }00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
, `: V8 @% P7 c00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
+ R. u0 g4 J4 y* o00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
/ a% ]2 G6 p0 k9 r! B9 l1 k3 C) `! n, V, v
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.! H5 I# u% u# b
重复四次,17为效验位。7为里程数的第一位。1为加密位。 ( L5 J6 g, \6 } r$ C& i
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7$ }0 U/ z' g5 ^8 x& w
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
7 P/ E) e* S9 U {. h- q取反的结果的低位数字就是加密字节的高位数字" G1 i# D0 _+ O
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
5 Z5 G( m( \% E5 e/ M(7 个数字 指的是 :
+ }9 _2 q0 Z- o3 W- @加密字节的低位数字 7
5 l+ q! h% J3 t3 j. {& h$ J1 [公里数的十万位数字 0/ L2 \) U5 L% C! _9 I
公里数的万位数字 0 9 D/ Y' }: {5 e2 Z' ` V
公里数的千位数字 7 3 o2 [5 f& Z" o
公里数的百位数字 5 i8 m5 O- `9 ?
公里数的十位数字 9, z2 B. w% S) _) o3 Q/ `/ n+ }* |
公里数的个位数字 2- W% `! ~, _4 Q0 N
1 A+ k8 d+ x( v& u" V
7 0 0 7 5 9 2
8 |" N1 q4 c4 L1 G" a/ j h+ _)! k' m7 y$ _; { y% K8 u
看看这个数据的计算过程:
" K0 ?- s9 a$ e/ X+ ^首先可以确定加密字节的低位数字 = 7
- R$ N1 f, W( j* h& d# k7 C7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1/ n3 k6 s% x0 R- r+ A8 i5 V
因此加密字节的高位数字为 1
' Q" g4 @8 n5 P# G5 X$ H |