MAC由下列步骤生成:
1)确定参与MAC运算的数据元素。参与MAC运算的数据元素是那些在上节的表中出现,并且将在APReq或者PARsp表中出现的数据元素;
2)拼装MAC块。将这些数据元素的值按照元素标识从小到达逐一进行拼接。相邻数据元素值之间用空格分开;
3)将拼接后的字符串中所有两个或两个以上的连续空格替换成一个空格;
4)将经过处理的字符串按BCD格式以ASCII编码;
5)补0x80,若补完之后整个字符串长度不是8的整数倍,则再补0x00,直到是8的整数倍为止;
6)将该字符串送入金融芯片卡,芯片返回4字节的二进制MAC;
7)将4字节的二进制MAC表示成HEX字符串,拼入APReq或PARsp报文中。有谁做过分享下么?折腾了好久了。