4 x7 ]4 s$ L& K, N3 m/ C
2 D1 J# u F2 G; _! B, B) a" C
, e$ Y2 }! @* i& I# Z9 C
* @# C. j& P9 H爱丽舍轿车仪表算法
& q( U9 ?( Q2 \! Z! h$ m6 u# v爱里舍液晶里程表数据 (7592KM)
# O! J1 a7 M. s- g8 v ?& N; A芯片型号: 93C46
* N7 }$ D# X9 x+ Q1 D! o0 r/ i( X00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.! e: y" X6 `: G) S; T
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................3 ^4 y! N9 c: m+ M' n, T
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
2 r- a, t. J( }* l( ?' W o00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...* B" _/ K ?/ }) i* p8 `3 ]
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.) o; R# c% g/ T' ?: a4 ^
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................+ z( `7 U, ? V+ V# I+ q$ n8 F$ ^
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....: M6 ^+ X1 K' q+ \ H3 i' p
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................+ B9 b: C4 ?( C, r( e/ j6 H, E1 g, ~) W
" S/ w& I X) ^* X00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
Y: |+ l" b2 a8 S9 M J* h/ |: N( V重复四次,17为效验位。7为里程数的第一位。1为加密位。
) k. b+ h/ @) V. O首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
, n! u: L3 }( x4 K% z0 s然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,: u- V$ ^3 L J e" h- D
取反的结果的低位数字就是加密字节的高位数字
$ x' q* t3 F5 N$ K1 M$ D可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
) [! U- M6 b; j, ^(7 个数字 指的是 :+ `8 |9 C/ x3 x+ Y$ L' w
加密字节的低位数字 7
$ `+ Z- c% k0 J3 J公里数的十万位数字 0
( Z0 c' ?- l9 Y; [公里数的万位数字 0
( J, A3 A& [$ ^- d3 i公里数的千位数字 7
; b, K5 g" W$ r7 x& x5 v- {公里数的百位数字 5: K+ V! \8 x5 u. f& c
公里数的十位数字 9
8 G+ V. `* A f% x" c& d f公里数的个位数字 2
2 r) R- u0 T6 ]9 [8 v! }+ j- e# ?' \
7 0 0 7 5 9 2" ^3 ^7 W( L& k. k; j+ @9 q, J' Q
)! {& f: U7 l8 k" P
看看这个数据的计算过程:" p# I6 Y/ J! {$ e! u; _
首先可以确定加密字节的低位数字 = 76 {& h# O( S2 a* g3 n o& y6 B" J3 _
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
( v$ q3 c" D5 l5 I. g因此加密字节的高位数字为 1- d' |: A) L, I# `4 u- {6 Q# M+ ?
|