' v# M2 |/ h5 o. E# T8 y) `/ E1 O
6 h1 N$ F0 v {- P! M % A) w$ `3 \3 A* Y& U
爱丽舍轿车仪表算法
% j( \, f9 s/ j7 A, J+ e爱里舍液晶里程表数据 (7592KM)
, z( H9 H, E, K/ E) g芯片型号: 93C46
# V, p3 A5 x! z) Q" p00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.! f2 a# y, P) d/ V8 f b
00000010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
4 f) z) K" I+ V! D# |2 M00000020 17 00 75 92 F1 A2 FE 0C FE 0C 00 43 B5 20 00 43 ..u........C. .C- y2 T, L& {* V( I2 e; |, v. y2 {
00000030 0B E2 00 00 EC 78 0E 0C 1A AA 00 00 79 96 00 00 .....x......y..., V( v1 ]0 k6 f
00000040 7F 7F 7F 7F 7F 7F 00 A0 74 89 29 7A 00 00 6B 00 ........t.)z..k.
3 k; z9 a+ |, A) { I$ R00000050 00 02 00 12 00 00 00 00 00 00 00 01 00 00 00 00 ................5 f3 F# f& a, L+ } c2 i: W+ D i
00000060 00 00 00 00 00 00 00 14 88 00 75 10 FB 10 13 01 ..........u.....) G* M2 Y" ? {% M/ M
00000070 10 88 18 DB B4 12 CB 00 09 15 00 FF 00 00 00 00 ................$ }6 |) w3 o" T- c6 L) V; M
! d& d9 X! e8 q$ K
00000000 17 00 75 92 17 00 75 92 17 00 75 92 17 00 75 92 ..u.'.u...u...u.- Q* p. P9 F& R2 r) N* ^
重复四次,17为效验位。7为里程数的第一位。1为加密位。
' ^# ~7 J, F7 o& |, o! I首先可以确定加密字节的低位数字(也就是公里数的最高位有效数字)在这里为 7
5 X# |0 E. _: n9 @0 d) W' Z然后用计算 7 个数字之和,所得结果 转换为 16 进制,接着取反,9 y1 X1 L' T8 D4 x7 i' P
取反的结果的低位数字就是加密字节的高位数字
* g6 v$ |7 F- v可能的数值为 0,1,2,3,4, ... E,F 合计16种可能。% n! t# H9 u6 A9 O; J% N X9 `
(7 个数字 指的是 :* E% j, q3 e( Q ~1 }" P
加密字节的低位数字 7
* }! z% \) r7 H5 a* O3 a* g公里数的十万位数字 03 T# f4 i: Q- S/ o
公里数的万位数字 0 " [: f$ x& Y2 y
公里数的千位数字 7 5 W) m. u& v5 b' a* h6 k2 G6 c
公里数的百位数字 52 I1 K- I' E6 h% G* N' u
公里数的十位数字 9
! i+ q$ q; [) v$ V! b. ~6 G公里数的个位数字 2
1 `5 F! [. [( k& s+ R# `. z0 f4 v! b. q, B5 N8 |- g
7 0 0 7 5 9 2; y4 M( P" r( `# o `% S4 R
)/ R! i4 z3 u L) m4 v
看看这个数据的计算过程:! Y/ A7 ^6 q4 }* z
首先可以确定加密字节的低位数字 = 7
' C8 E* F, B: `0 ]; B+ {) a7 R7 + 0 + 0 + 7 + 5 + 9 + 2 = 30 结果 转换为 16进制 = 1E 接着取反 =E1; n1 j# \) A! P% _( {
因此加密字节的高位数字为 10 Y/ h4 Y# I& _( \) T* D& b
|