android - 如何使用自定义 key 编写 MifareClassic

标签 android nfc mifare

我需要找到一个解决方案来编写带有自定义 key 的 Mifare Classic 1 K 标签。我无法编写它,我尝试了所有选项,但不幸的是,我一直收到错误“IOException:Transceive Failed”。

下面是我的代码 fragment :

byte custom_key[]={
  (byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff,(byte)0xff
};

// 16 bytes of Data. Otherwise it was throwing IllegalArgumentException .
byte[] data="Hello world of N".getBytes();
getMfc().connect();

if(getMfc().authenticateSectorWithKeyA(4, custom_key)) {
  getMfc().writeBlock(3, data); // Here I receive IOException all the time.
} else {
  getMfc().close();
}

请在这方面帮助我。我需要用我自己的 key 编写 Mifare Classic 1 K 标签。

最佳答案

您对扇区 4 进行身份验证,然后尝试写入 block 3。 block 3 在扇区 0 中,因此这总是会失败。改为尝试对扇区 0 进行身份验证。

顺便说一句:请不要将随机数据写入扇区尾部(例如 block 3)。它可能会锁定该部门而无法恢复。

关于android - 如何使用自定义 key 编写 MifareClassic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13154452/

相关文章:

当应用程序作为启动器启动时,Android NFC Intent 不起作用

android - Android NFC ISODep 支持有多成熟?

android字节数组正在缩短数字?

android - 你如何读取 Android 上 NFC 标签的唯一 ID?

python - 如何使用金雅拓 Prox-SU 读卡器访问 MIFARE 1k 内存块?

android - Android 上的 MIFARE Ultralight 仿真

android - 在操作栏上添加图标而不是三个点

android - 如何在android中处理发送和接收笑脸

android - 运行 mapsforge map 应用程序

android - 调用 onTextChanged() 方法而不调用 setText() 或用户输入