【问题标题】:Getting the UID/serial number of an NXP MIFARE DESFire EV1 card获取 NXP MIFARE DESFire EV1 卡的 UID/序列号
【发布时间】:2017-01-31 00:56:26
【问题描述】:

我目前正在做一个项目,我想使用我的具有 NFC 功能的 Windows 10 手机读取智能卡的 UID/序列号以查找人的 ID。我试图从中获取 UID/序列号的卡是 NXP MIFARE DESFire EV1。我要查找的 ID 印在卡片上,我设法使用我朋友的手机和 Android 应用访问了它,这意味着虽然我不知道如何访问,但该号码是可以访问的。

我可以向卡发送 APDU 命令,但我不知道使用哪一个来获取我要查找的 UID/序列号。

我需要向卡发送哪些 APDU 命令来获取 ID?我要查找的 ID 长度为 7 个字节。

【问题讨论】:

  • 抱歉,非智能卡的读取很大程度上依赖于阅读器的翻译服务,您没有提到。您可以在this question 中找到起点。

标签: uwp mifare apdu contactless-smartcard serial-number


【解决方案1】:

一般而言,非接触式卡的防冲突标识符 (UID) 等参数的检索很大程度上取决于读卡器以及读卡器与您的应用程序之间的抽象层。例如,在 Android 上有一个简单的方法getId() 来获取 NFC 标签/非接触式智能卡的防碰撞标识符。

但是,对于 MIFARE DESFire,还有一种方法可以通过 APDU 获取该参数。您可以简单地发送一个 GET VERSION 命令来查询版本信息(以及卡片 UID):

C-APDU:90 60 0000 00 R-APDU:04 01 YY 01 00 ZZ 05 91AF C-APDU:90 AF 0000 00 R-APDU:04 01 01 01 04 ZZ 05 91AF C-APDU:90 AF 0000 00 R-APDU:XXXXXXXXXXXXXXX UUUUUUUUUU VV WW 9100

XXXXXXXXXXXXXX 的值是卡片的 UID(如果卡片处于随机防冲突标识符模式,则全为零)。

请注意,甚至存在用于 MIFARE DESFire 版本信息 here 的解析器(正如 ThomasRS 在评论中指出的那样)。

【讨论】:

猜你喜欢
  • 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
相关资源
最近更新 更多