关于java:记一次数据类型隐式转换导致的异常

在编写一个签名/验签的功能模块时,呈现一个状况,在本我的项目中签名验签测试失常,但在生产端解决时有时胜利,有时谬误。

生产端也是应用的通用明码库,所以排除底层库谬误的可能。

测试多个实例,并打印出具体参数。发现法则,只有一个参数为0时,就胜利,1时就失败。

减少生产端参数日志,对解决流程debug,并查看生产端的代码,发现一处可疑的类型转换,从byte转byte32,而后由byte32转uint8。对这部分代码专门测试,发现byte转byte32时,0x01变成了0x0100…,转成uint8时,变成了0,也就是主动取了后8位。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理