数据排查

之前遇到一个问题,esam调试遇到的。app给esam下发指令,esam返回加密数据给app,app把数据发给加密机解密。

或者app请求加密机返回密文,app把密文发给esam芯片解密,芯片返回明文数据。流程本身没问题,偏偏遇到一个奇怪问题。加密机返回来的数据esam芯片可以解密,但是芯片加密的密文发给加密机却解不开,一定是数据出问题了。

首先排查esam芯片和加密机,将之前测试好的esam芯片拿过来测试问题依旧。将该芯片放在其他正常设备上又好了。这说明芯片和加密机一定是没问题的。

那么结论是芯片返回的数据一定是错的。

然后这个时候方向却错了,先入为主的以为是芯片返回的错误是由于芯片在返回给app的时候发生了改变导致数据错误。因为芯片返回的数据先给了驱动然后才由so发给app。但是芯片发出来的数据都是带校验位的,数据校验没问题。那么也就是说芯片发出来的数据就是app拿到的数据。app拿到的数据和发给加密机的数据也完全一致。

实际上,这个时候,已经可以判断出问题是发生在下发给芯片的指令数据是错误的了,但是固执导致了失败。面对一份之前多次看过的文档,竟然没有怀疑。。。

先确定芯片返回数据错误,又因为芯片返回数据校验正常,必然能推出下发给芯片指令数据错误这一结论。进而立刻怀疑文档错误,这本来是很正常的逻辑。就因为这份文档被很多人看过就没怀疑,实在不应该。应该对一切东西保持怀疑太多,一切按照逻辑排查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值