% ]' B$ A0 I* n5 U- O. S7 g. r* V0 s- o' \9 O3 a
+ ]6 P' n, H6 L& A) I) z
, ?! G5 f2 n* y$ ?9 L; {! {3 ?% u+ F爱丽舍轿车仪表算法
7 N) j, [) O* J" W' v4 J3 E; Q爱里舍液晶里程表数据 (7592KM)9 T$ q2 I% s; a7 d+ `' t& T
芯片型号: 93C46 ' s: r; g* [5 [) a# i
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.% m4 T+ I, y1 ]2 O, V/ I
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
3 z# A$ U" ^7 I0 S Y3 J8 N00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
) \6 k. c+ C; L" h8 N00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...
% I8 o% ]/ C5 `1 e6 x) H00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.4 a5 p% h+ L3 w' E4 }' G6 H6 D
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................
* z/ t4 y. |! H00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
& C# s+ J( v0 o k00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................0 b* r \1 F* { Q; n& B* f0 v
; N$ B9 n4 S, i# H" K- }* C00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
' e' X2 N2 ?5 \4 B0 _1 J5 N重复四次,17为效验位。7为里程数的第一位。1为加密位。
3 v- ] A) O9 z% B3 }首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 76 {3 E% D4 j- a8 }* B$ B
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,5 H! j( `. N j6 S* C
取反的结果的低位数字就是加密字节的高位数字: F7 W0 ^' D# g/ H+ ]3 ^0 B* r
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。2 D e, Q! E" O# }& L' i
(7 个数字 指的是 :( F' {. m6 t5 d: ?
加密字节的低位数字 7* ~* S! W" T' V
公里数的十万位数字 08 J4 D$ t. b! V2 P8 R; X$ G+ B: {2 G
公里数的万位数字 0
" Q8 P [$ ~5 ` f3 M6 k公里数的千位数字 7 . i4 t7 }# O/ f: z, p) S: P" k8 C: r
公里数的百位数字 5
) D% b/ ^; i G! {( S: U0 Y公里数的十位数字 9
0 Z) d+ n5 k3 \% G, y9 A) y2 p( e公里数的个位数字 2: t! g7 h& m! Y8 j; v, ]/ y
% P7 B/ p) c% q! O* h
7 0 0 7 5 9 2% l6 a" W+ d& v1 b# [3 m
)
, ?, S2 P$ _3 i$ ?看看这个数据的计算过程:
6 R3 m8 b9 B' b0 m# q6 B' E首先可以确定加密字节的低位数字 = 7
w3 R/ g8 o, |7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1
3 u$ P( X$ [ P, ]1 h1 }# q& n# G6 P因此加密字节的高位数字为 1" b6 l: L6 W$ t- N* W# {# D
|