2 Y, G s% H8 {6 J. p* |3 V" u
0 o5 C T( X# x+ p + V$ b5 R, g3 s2 j
$ q( r$ v8 Q+ N爱丽舍轿车仪表算法
2 q5 ]& P- u( |4 v爱里舍液晶里程表数据 (7592KM) i4 f! V m0 @( S2 N
芯片型号: 93C46 / J) B- J. U. P3 Y% ^
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.% E9 z# m9 a' q$ P$ _
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................# x0 _! I7 o$ F: w
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
7 s' Q. n% V# `00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...' R* ?5 R, b6 C n+ C( P$ s
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k." y) s2 k& b" L9 y! `. L
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................& _* N) ~5 ^5 Z' {6 b9 u
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....: }: k L( p4 f3 H- ^" A m% e
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................( o5 d; Q* Q+ n4 P. c! b) \. ^) }
+ a3 K* X+ ~( S00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.; N0 [! d( Z: U. Z7 p# v1 N
重复四次,17为效验位。7为里程数的第一位。1为加密位。 " W1 p* G, J, w. D
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7- N( F) o4 V% y" i$ j1 ?
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,: Y& i' o" H7 T& e! o: d7 D$ Z/ E
取反的结果的低位数字就是加密字节的高位数字
; j: W, D" {' o' [可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。: Y0 ~6 q ~" v! f y* B
(7 个数字 指的是 :
! @3 o0 q7 j- b, H加密字节的低位数字 7
! D3 [- d. @( f) @# O8 p$ \公里数的十万位数字 05 B. U% J8 Z) g0 h7 Y- X" w
公里数的万位数字 0 8 K. O6 I5 ?1 ^( `% P
公里数的千位数字 7
, V. V& t6 e! J. ?公里数的百位数字 5' n, g, }3 X. {2 z& k
公里数的十位数字 9/ z; a4 Q7 O) F o
公里数的个位数字 25 W4 ?, @. N. B- x6 K; B; A. Z
$ e& R0 K$ J2 H0 X7 `2 P$ q; x) V
7 0 0 7 5 9 2
& e! E& K6 \5 R! ^9 z: P/ Z)
8 a: b7 |8 j0 J$ J/ q8 z& {6 y, g) N看看这个数据的计算过程:
. H% X7 m! F: Z# w1 U首先可以确定加密字节的低位数字 = 77 h) M9 x$ d* p* m% h0 n( j( ~# `
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
4 S6 o0 [3 b+ i% G3 ^- V- F因此加密字节的高位数字为 1
, c5 i Q" @7 G0 m5 G. X |