解决方案 »

  1.   

    CheckSum 不是 CRC
    CheckSum  简单多了, 就是 把 所有 值求和。
      

  2.   

    原先猜的是这个16位数据,是用来检查数据是否正确完整的
    CRC16和CheckSum应该都是这个用途试了下,CheckSum出来的结果不对
    看来不是CheckSum常规算法,对一组字节进行各种运算后,只出来两个字节的冗余校验,应该不会大费周章各种奇怪加密去算啊
    其他区域我都能分析出来
    这个文件是金龙系统批量用户开卡的一个文件,学校新生开学,批量上百上千人信息生成导入,省得逐个输入。好消息是,问了下相关人员,可以有XLS转换成这种文件了,但是不支持过多列,比如不支持性别(这个当然支持最好啊)
      

  3.   

    如果是checksum 的话还要把硬件自己的checksum关掉 
      

  4.   

    可以说是PCI硬件,但是只是批量创建账户,没有硬件通讯等协议/帧等等
    所以只是纯软的东西
      

  5.   

    网卡开启了CheckSum Offload(硬件校验和) 功能 的话  软件自己做CheckSum   最终的结果也是错的 我只是被这坑过  提醒下楼主!
      

  6.   

    谢谢提醒,我这个是 GDC2000 金龙收费系统,打算用作新入学学生批量开户文件,只是一个名单的东西,类似只是一个电子表格XLS的存储文件而也
    不需要什么校验,所谓的冗余校验,顶多是保证记录正确,没有被随意修改,比如什么预存款金额等等。没有必要各种高级加密,否则我都分析出来了各个数据域,实在没什么难度
      

  7.   

    没怎么接触过CRC,平时都是拿来用,不多管研究,也不管算法,用的也不多
    现在都不是快不快,是不知道怎么根据前面的字节,算出最后那两个字节
      

  8.   

    帮忙顶一个!请参看专家博客:http://blog.csdn.net/henzox
      

  9.   

    现在通过XLS文件,GDC2000软件有个功能转换为.gdc文件,暂时这么处理
    总之,没有搞定,结贴散分。
      

  10.   

    结贴了居然还可以回复,真的是第一次在CSDN发帖结贴,原来还可以这样玩