uint8_t CalMAC(uint8_t * inbuf, int len, uint8_t * outbuf)
{
uint8_t buf[17]={0}, tmpbuf[17]={0};
int i, l, k, ret;
uint8_t Mac_key[17] = {0};
memset(buf, 0, sizeof(buf));
memset(inbuf+len, 0, 8);
memset(Mac_key, 0, sizeof(Mac_key));
if( len%8 )
l = len/8 + 1;
else
l = len/8;
for(i=0; i<l; i++)
{
for(k=0; k<8; k++)
{
buf[k] = buf[k] ^ inbuf[i*8+k];
}
buf[8] = '\0';
}
BcdToAsc(tmpbuf, buf, 16);
tmpbuf[16] = 0;
memcpy(buf, tmpbuf, 8);
buf[8] = 0;
GetKeyParam(NULL, Mac_key);
ret = 8;
API_Crypt(CRYPT_TYPE_DES, Mac_key,