5 @' H; a: {1 g0 s$ f
. l% a& Q% ^9 x! z. Z' d, V& u. F & ]" m# @' T3 G1 A
2 @, ^% T9 \* h x: k爱丽舍轿车仪表算法
x5 k2 b& E1 o+ j爱里舍液晶里程表数据 (7592KM); X, H# S) P* A3 I; c) [
芯片型号: 93C46
$ \* d- V1 ?) F) w, t5 X5 p9 e00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.8 r+ e. m* D ^
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
5 n8 q h; g: w( B; c2 P, I% s* x00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
5 a! }' O3 [' v8 d' }; m00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
7 z% p$ v+ H( B00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.! } F1 n/ S& \6 X" n
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................! H* h5 L; \: x7 o! S& f3 H5 ?
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
/ u& z; X& m* A4 [; N00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
& P6 g8 F. Z" {7 F
8 M- |* E& I4 t9 {00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
% [& u2 n0 X `/ b7 h, }" Z重复四次,17为效验位。7为里程数的第一位。1为加密位。 " {5 E; J8 k- R# g; z1 V
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7$ ^2 f( M, f6 c( K5 _0 m% n
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,) K6 s5 X: O [; I) W! ]% A
取反的结果的低位数字就是加密字节的高位数字
& C3 U, N& }2 }# z, v7 M可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。; p' ^4 r& L o" i5 X8 \* ^
(7 个数字 指的是 :5 a1 c) n+ p6 p9 P8 o6 z0 H
加密字节的低位数字 7
! Z5 ]. S$ y- B2 i& J( q5 g公里数的十万位数字 0
8 |5 }! J5 x9 ]- I7 [公里数的万位数字 0
' { E. o% t7 T+ `) Z) ~3 `( l公里数的千位数字 7 ) g6 S7 |; c. x; E# w* s
公里数的百位数字 5
% w. E$ p5 P0 f公里数的十位数字 9
& y, }7 P! a5 A( S2 e, A3 A' }公里数的个位数字 2
; ?7 o1 d3 F$ @0 h/ f( h9 ^! ]! @' B O# `
7 0 0 7 5 9 2
0 ~$ \( Y- }3 L: r* Y)3 Z7 I3 T& O1 T5 D) ~! P8 P) n
看看这个数据的计算过程:
. e: k! H/ t; i0 H, D首先可以确定加密字节的低位数字 = 7
1 }8 e# l( V( @; I! o; H# \7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1$ B! h8 z! X1 x) I/ X: V0 `6 t
因此加密字节的高位数字为 1
' U8 l! V, g: W7 @ |