/ O- t; m# S6 n) G
# A3 B2 B/ y( c" V+ X " f7 M8 y) v7 L' @' h0 |3 E+ A
' |# B' p% o# l N5 e6 m; C! ?) M, Y爱丽舍轿车仪表算法
+ q9 X3 i: p6 \ d( |. M爱里舍液晶里程表数据 (7592KM)
% ]. B9 ^2 o- j& v7 O- r芯片型号: 93C46
% ^( ~" ]" o2 x* I00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
- s; p3 x2 v3 G$ ^/ I00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
9 L/ C! i! S" Y4 @9 i( J5 O! L00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
2 A$ E) ?5 u, ?$ n' J00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...% X1 n2 k9 A0 T2 L
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k./ s9 y$ X) o. i7 W8 G
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
" s, r+ d6 U& w* W00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
. [& f8 }$ l3 C4 O4 \% t: L00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................' y. H7 c, ], m A/ h
+ G# s# H. X t+ p) L& z8 L, b
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
/ P R% f% d- o: z" V. H- y重复四次,17为效验位。7为里程数的第一位。1为加密位。
: ]8 f2 ]5 z d; u) ]. C2 U首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 74 q5 `" U4 F5 j! R8 j" |! w' ?1 D
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,; N! H* x$ ^$ D l4 d4 C* X+ {
取反的结果的低位数字就是加密字节的高位数字0 _) D- p6 z5 x# t
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。) q* R X5 ?( U, n
(7 个数字 指的是 :
& O# W0 F: v& G; d! d; I加密字节的低位数字 7
% f1 ^9 r. q1 R- X公里数的十万位数字 0/ a" W2 h2 u( F' p% r6 X1 e3 I8 i
公里数的万位数字 0 + p% T# j C* I* A
公里数的千位数字 7 + @1 D: l1 t$ ~5 B2 V; O2 q8 j
公里数的百位数字 5; A" ^7 ^: E) {7 H$ @+ d. v
公里数的十位数字 9" |9 Z- D/ e) x- ~: W# `
公里数的个位数字 2) {: @6 U- V( D& {
0 Z; ]% s3 u ]7 N. Q0 G" m7 0 0 7 5 9 2% F: R4 S2 Y% g
)
- w* H: @# J+ c3 R看看这个数据的计算过程:8 I0 i0 `5 ?; u5 C
首先可以确定加密字节的低位数字 = 7" O5 ^ a" f; i( A0 b# j
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E19 e% Z2 B9 [8 s
因此加密字节的高位数字为 1
9 L2 [3 M6 T' l% b J |