我有一台ACR122U非接触式NFC读卡器。我买了很多空白的RFID Mifare 4k标签。它们的默认验证密钥A和密钥B是FF FF FF FF FF FF。
现在我想将它们改成其他东西。我正在使用APDU结构。我正在发送这样的命令并且效果很好:
byte[] baData = { 0x01, 0x00, (byte)i, 0x60, 0x00 };
APDUCommand apdux3 = new APDUCommand((byte)0xFF, (byte)0x86, (byte)0x00, (byte)0x00, baData, 0x05);
效果很好。我不知道这个接口和模型意味着什么,但是使用这种类型和结构,我想更改KEY A和KEY B.
请帮帮我。我找不到任何文件。
此致
答案 0 :(得分:15)
确实如此,芯片交付时带有密钥A和B的默认密钥FF FF FF FF FF FF。
要更改它们,您必须使用正确的访问位对卡进行身份验证。
注意:Mifare键的组成如下:
要更改密钥,您必须验证扇区预告片并编写新密钥+新访问条件(如果您想要更改它们)。
新钥匙A = 00 11 22 33 44 55 访问位未被覆盖 未使用键B(所以FF FF FF FF FF FF)
=>写入扇形拖车00 11 22 33 44 55 FF 0F 00 FF FF FF FF FF FF FF
有关详细信息,请访问恩智浦网站,或直接通过以下链接:https://www.nxp.com/docs/en/data-sheet/MF1S50YYX_V1.pdf
默认的访问位通常是FF 0F 00,允许写入和读取每个块以及读取和写入密钥B.