9 c0 k& k( f' Z* G
; i, x1 \0 ^7 l/ |
4 s2 j4 I D1 V
1 V2 |0 @2 ]2 O. N( a5 c8 G, |
爱丽舍轿车仪表算法
4 n: q. F/ B- ~爱里舍液晶里程表数据 (7592KM)9 O' G1 `! A) ~+ Q; c% H6 {
芯片型号: 93C46
6 F5 h' m$ C- _3 ]00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.- C$ l J- Q* E6 X1 I9 [* A
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................/ ~) q! M/ e8 `; c! M+ H+ v
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
% ~+ Q* I* l; z9 a- N4 U. Y00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...2 m7 [6 r. V! J* e# g- W
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k." z9 m; I* k! R5 p
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
1 W( ~# F6 h3 D y8 s/ H00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u...... ?8 A7 O \" {$ J; h+ g7 F% z
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................
! R5 ~. I) D- k3 B2 j* I2 o5 V3 P- N9 C9 E. m0 i
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
; l) |. s1 b) A+ v# ~( z重复四次,17为效验位。7为里程数的第一位。1为加密位。 / b: Z8 l9 J4 g K4 I
首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
' d+ i( ?3 H- y0 _! V q* N然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
, N0 Z' X9 L: C" f; c+ [5 N& G" B取反的结果的低位数字就是加密字节的高位数字
' H$ R9 K, \% ]" X, C2 _2 r5 y可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。
+ D3 ~: K: M: S$ c3 K& X( }, W(7 个数字 指的是 :) t5 u! f" X4 D4 |9 a. |7 j2 a
加密字节的低位数字 7
9 i4 H% j4 t1 j* ]! O" N公里数的十万位数字 0! ]# z/ L) \" p9 k. @1 M
公里数的万位数字 0 7 x4 D L: X8 q& [$ D, W
公里数的千位数字 7
. |3 l+ u/ ~- U0 f y公里数的百位数字 5
, k! q+ x: d" `4 O$ e, M6 k' `公里数的十位数字 9
8 E$ `( B! ?$ ]9 E- K/ c' \公里数的个位数字 2
/ x# B5 o/ e4 _: g, ^# t( M* u2 P/ o. J1 {9 ?6 s2 |: O. t
7 0 0 7 5 9 2
1 H1 [% b8 @: k: M) c+ y* c+ D)7 r) h+ E7 D7 U8 p4 `, e9 T
看看这个数据的计算过程:
c( G9 h5 [4 m+ b& d; a E2 p6 d首先可以确定加密字节的低位数字 = 7
& g# H% f2 U0 ]2 X" W' I) o# a- g* @7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1: M* H2 N, @1 `8 B: _, ]
因此加密字节的高位数字为 11 `$ D+ a& k5 ^4 |: [+ W% n. R
|