终于调通了,高兴啊

    最近都在调试加密算法,虽然基本的加密算法都有接口封装好了,我将它应用到设备中并实现以文件方式来做,移植很快,老是有问题,调试和查bug的过程花费了我大部分的时间,一些明显但粗心所致的问题列如下,以备提醒、总结:

1、编写测试程序过程中有赋值的:

 

/*定义数据单元结构,对于符合缓冲区头指针、缓冲区长度的参数设计均可以采用该结构*/
typedef struct 
{
 pu1 pu1DataBuf; /*数据缓冲区头指针*/
 u4  u4DataLen; /*数据缓冲区大小*/
}DB_CELL, *PDB_CELL;

u1 u1Buf[16] = "/x31/x32/x33/x34/x35/x36/x37/x38/x31/x32/x33/x34/x35/x36/x37/x38";

memcpy(myDBcell.pu1DataBuf ,u1Buf,sizeof(u1Buf));

 

注意:指针不可如此赋值,如此导致程序莫名跑飞,存在野指针。

 

2、没注意定义值范围

typedef unsigned  char           u1;

u1 offset;

 

 offset = GroupID*(sizeof(TKSNLOG)+sizeof(TDUKPTKEYLOG)*DUKPTFUTUREKEY_NUM+sizeof(TDUKPTINITKEY))+sizeof(TKSNLOG)+sizeof(TDUKPTKEYLOG)*(pvDUKPTStruct->m_u1KeyID);

注意:后续的赋值超过了0~255这个范围,导致在写入文件的时候数据写入错误,offset改为int就ok了,该问题完全就是粗心所致,后续要小心了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值