, [& I5 p* t/ S( ^9 T" D% D/ C* M, v$ z: Q N5 M8 `
, G0 B+ U; N$ y% D+ Q5 r
$ o& k) o5 K; S% Z. i
爱丽舍轿车仪表算法
" N" ]7 \' s! i2 c) i r爱里舍液晶里程表数据 (7592KM)( q, U( c& c$ W! t4 ]5 I/ K
芯片型号: 93C46 + S- p: w9 v% } ?% Y5 R7 m9 x- b
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.
" N* `2 i8 Y) G00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................- U# [. l8 }( A' v
00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C
' {- H9 P5 i5 B- d00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y...; z! Q3 o2 H4 L2 W
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.' f$ j/ \% C9 q# g
00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................+ n W p" B) U2 k: Q) \4 O
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....
( F% |$ j- u4 |9 M( d; ?00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................0 E+ Z- w3 V1 {+ A7 `# D2 o
% ]3 q# Z( [+ n; ~3 m: k5 {00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.+ e2 ]- e1 N6 v# G# f( n
重复四次,17为效验位。7为里程数的第一位。1为加密位。
2 Z. u* }7 g% L) ?9 }1 G+ F2 ~! f首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7& G+ d! l+ `0 }4 i8 p. A
然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,
. @* U! J4 G; a/ z取反的结果的低位数字就是加密字节的高位数字' c5 L* p, x5 q& u& M P. u6 C
可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。3 ]; B ]9 m2 ]
(7 个数字 指的是 :
( \$ l+ _7 l0 Z- b! Q) T加密字节的低位数字 7' B! Y8 e0 z# q7 _% Z, ]
公里数的十万位数字 0
7 [; T" s; G6 _- d0 Q, [公里数的万位数字 0
6 D6 w, [/ i* H3 t公里数的千位数字 7 * e7 `2 Q, V) H8 U
公里数的百位数字 5, m" f+ I% e+ {: v7 }
公里数的十位数字 9$ o6 r" y1 K9 ^: @3 q7 X
公里数的个位数字 23 s* l+ K" ?1 z6 E& R" ~6 x
[* v s% P% v4 C+ P6 v
7 0 0 7 5 9 2# P0 h8 a4 g# Y& y
)& T' H2 G- t o# L! q) F4 J
看看这个数据的计算过程:
' @4 `7 Z2 m* V4 h Q F$ d首先可以确定加密字节的低位数字 = 7# n# [6 Z: I6 U9 W& \
7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E14 x: x! E! r6 K P
因此加密字节的高位数字为 1
5 W1 D0 c7 O0 ?# U6 U |