MIFARE读写器协议
读卡:
PC机发送:OB S M1 M2 M3 M4 M5 M6 K X
其中:OB为命令头,十六进制表示;
S为扇区编号,范围0~15;
M1 M2 M3 M4 M5 M6为扇区密码;
K为扇区块号:范围:0~2;
X为异或校验:
X=0B XOR S XOR M1 XOR XOR M3 XOR M4 XOR M5 XOR M6 XOR K
写卡:
PC机发送:09 S M1 M2 M3 M4 M5 M6 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 K X
其中:09为命令头;
S同上;M1~M5:同上;
D1~D16:16个字节的数据,范围0~255;
K同上;X=异或校验;
X=从09(包含09)异或到K(包含K)的值。
修改密码:
PC机发送:0A S M1 M2 M3 M4 M5 M6 K1 K2 K3 K4 K5 K6 X
其中:0A为命令头;S同上;
M1~M6:为旧密码,范围0~255;
K1~K6:为新密码,范围0~255;
X=从0A(包含0A)异或到K6(包含K6)的异或值。
读序列号:
PC机发送:0x0C:十六进制。
下位机回应:
1、若收到一个字节:
如果为:1)0xAA—发送命令成功;
2)0Xbb—写数据成功:
3)0xCC—修改密码成功;
4)0xFF—发送命令失败;
5)0xDD—密码错误或认证没通过。
2、若收到16个字节:
则这16个字节为读取的某扇区16个字节的数据。
3、若收到4个字节:
则这4个字节为读取的序列号。