【问题标题】:How to properly start a connection with a Mifare Ultralight C?如何正确启动与 Mifare Ultralight C 的连接?
【发布时间】:2019-02-01 08:23:53
【问题描述】:

我尝试在 Mifare Ultralight C 上启动 3DES 协议。在产品数据表中,他们指定您必须通过发送命令开始 1A(我发现这个帖子,每个提问的人都被重定向到:@ 987654321@).

所以我尝试在下面的代码中做类似的事情:

nfca.connect();
byte[] authData = new byte[] { 0x1A, 0x00};
encRndB = nfca.transceive(authData);

但是收发操作时总是报如下错误:

W/System.err: android.nfc.TagLostException: 标记丢失。

我做错了什么还是应该以其他方式做?

【问题讨论】:

  • 您引用的帖子似乎是正确的。您确定您的卡确实是 Ultralight C(而不是 Ultralight、Ultralight EV1 或 NTAG)吗?
  • 是的,抱歉,IC 类型是 NTAG213。如果您知道在哪里可以找到有关此类标签的信息,那将非常有帮助,谢谢。
  • 您可以使用Android内置的NDEF相关函数,也可以使用NXP提供的TapLinx库与标签通信(也可以与Ultralight C通信)。

标签: android authentication nfc rfid mifare


【解决方案1】:

获取TagLostException 以响应命令可能意味着两件事:

  1. 与标签的通信实际上被中断(通过撕裂标签)或由于阅读器和标签之间的不良耦合。
  2. 标签不支持该命令并以被动 NACK“响应”(即它没有响应以生成超时)。如果收到不支持的命令,Type 2 标签可能会这样做。

因此,第二种情况清楚地表明该标签不支持 MIFARE Ultralight C 身份验证命令。这意味着该标签可能不是 MIFARE Ultralight C 标签。您可以查看Distinguish different types of MIFARE Ultralight,了解对实际标签类型进行指纹识别的起点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多