【发布时间】:2012-10-03 18:11:24
【问题描述】:
我正在尝试制作一个 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
一切都无济于事..
【问题讨论】: