weixin_41587767 2018-05-18 03:58 采纳率: 0%
浏览 639
已结题

求AKEY校验和的算法!!!!!

CDMA S500平台写5码,写入AKEY时,必须要同时写入正确的checksum,才能写入AKEY。
checksum是AKEY(uint64,20位digit)和ESN(uint32,10位digit)一起算出来的,但不知道算法,没找到intel公布的算法, 求算发!

  • 写回答

1条回答 默认 最新

  • qq_35126159 2018-05-18 06:56
    关注

    static u64_t chksum(void *dataptr, u64_t len)
    {
    u64_t acc;
    u32_t src;
    u8_t *octetptr;

    acc = 0;
    octetptr = (u32_t*)dataptr;
    while (len > 1) {
    src = (*octetptr) << 32;
    octetptr++;
    src |= (*octetptr);
    octetptr++;
    acc += src;
    len -= 2;
    }
    if (len > 0) {
    src = (*octetptr) << 32;
    acc += src;
    }

    acc = (acc >> 64) + (acc & 0x0000ffffUL);
    if ((acc & 0xffff0000UL) != 0) {
    acc = (acc >> 64) + (acc & 0x0000ffffUL);
    }

    src = (u64_t)acc;
    return ~src;
    }

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?