zp19810828_csnd 2015-06-03 08:52
浏览 649
已结题

求算法实现或代码修改

算法说明

图片说明

图片说明

图片说明

正确的运算结果:

例1:S1、S2、S3为E0、6E、E3,F1-F5为4D、61、7A、64、41经过算法后返回R1、R2、R3为:74、4C、49

例2:S1、S2、S3为5B、68、43,F1-F5为4D、61、7A、64、41经过算法后返回R1、R2、R3为:CA、B3、E1

例1:S1、S2、S3为,3E、B5、C3,F1-F5为4E、53、59、4E、53经过算法后返回R1、R2、R3为:93、EB、E1

# 我的代码:

#define TEYES_ABS67_MASK 0x4D617A6441

void Security ( void )

{

unsigned char SecurityData[3];

unsigned char SecurityKey[3];

unsigned long SecurityA,SecurityB,SecurityC,SecurityTemp;

uint64_t SecurityCB;

unsigned char i,chrTemp1,chrTemp2;

//SecurityData[3]:Data from ABS.

//SecurityKey[3]:Result.

//Calculation.

//Step 1

SecurityData[]={0xE3,0x6E,0xE0};

SecurityTemp = SecurityData[2];

SecurityTemp = SecurityTemp * 256 + SecurityData[1];

SecurityTemp = SecurityTemp * 256 + SecurityData[0];

SecurityCB = TEYES_ABS67_MASK;

SecurityCB = SecurityCB * 0x01000000;

SecurityCB = SecurityCB + SecurityTemp;

//Setp 2

SecurityC = 0x00C541A9;

//Setp 3

for (i=0;i<64;i++)

{

SecurityA = SecurityC;

if (SecurityCB & 1) chrTemp1 = 1;

else chrTemp1 = 0;

if (SecurityA & 1) chrTemp2 = 1;

else chrTemp2 = 0;

chrTemp1 = chrTemp1 ^ chrTemp2;

SecurityB = SecurityA >> 1;

if (chrTemp1)

{

SecurityB = SecurityB | 0x00800000;

SecurityTemp = 0x109028;

}

else SecurityTemp = 0;

SecurityTemp = SecurityTemp ^ SecurityB;

SecurityTemp = SecurityTemp & 0x109028;

SecurityC = SecurityB;

SecurityC = SecurityC & (~0x109028);

SecurityC = SecurityC + SecurityTemp;

}

//Step 4

SecurityKey[0] = (unsigned char)((SecurityC >> 4) % 256);

SecurityKey[1] = (unsigned char)((SecurityC >> 12) % 16);

SecurityKey[1] = SecurityKey[1] * 16 + (unsigned char)((SecurityC >> 20) % 16);

SecurityKey[2] = (unsigned char)(SecurityC % 16);

SecurityKey[2] = SecurityKey[2] * 16 + (unsigned char)((SecurityC >> 16) % 16);

}

int main(void)

{

Security();

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog