我正在尝试制作一个 Android 应用程序来编写 NFC 标签。为了了解如何做到这一点,我下载了一个示例。但是,该示例不起作用。它说它无法进行身份验证。这只能意味着它为这种类型的卡使用了不正确的密钥。奇怪的是,甚至我的空白卡上的KEY_DEFAULT
和KEY_MIFARE_APPLICATION_DIRECTORY
键都不起作用。Mifare 是否以任何方式更改了密钥?
编辑:这是我的代码。
/* Authenticate the MAD Sector, sector 1, with key A */
succes = mClassic.authenticateSectorWithKeyA(
1, key);
if (succes) {
/* Authentication succeeded */
/*
* This will read a 16-byte block in this sector
* It is an I/O operation and will block until complete.
* It must not be called from the main application thread.
**/
b.append(mClassic.readBlock(1), 0, 16);
b.append(mClassic.readBlock(2), 0, 16);
b.append(mClassic.readBlock(3), 0, 16);
data = b.toByteArray();
}
/* Authentication failed */
else
sb.append("Authentication failed");
mClassic.close();
}
我已经使用以下键进行了尝试:
MifareClassic.KEY_DEFAULT
MifareClassic.KEY_MIFARE_APPLICATION_DIRECTORY
00 00 00 00 00 00
ff ff ff ff ff ff
都无济于事。。