无法验证具有7字节UID ACR122U的NFC标签

时间:2014-09-03 12:13:02

标签: nfc mifare smartcard-reader contactless-smartcard acr122

我有两种Mifare Classic标签。一个具有4字节的UID,另一个具有7字节。 我试图阅读两者的块。我成功地读取了具有4字节UID的标签块,但是在7字节UID的情况下无法进行身份验证。我使用的读卡器是ACR122U,使用ACR122U工具读取。

1 个答案:

答案 0 :(得分:1)

假设您使用的是较旧版本的ACR122U,您可以使用PN532数据交换命令发送验证命令:

FF 00 0000 0F D440 <TAG_ID> <AUTH_TYPE> <BLOCK> <KEY> <UID>

<TAG_ID>是阅读器上标签的索引(通常为0x01)。如果要使用密钥B进行身份验证,则<AUTH_TYPE>为0x60,如果要使用密钥B进行身份验证,则{0}为{0}。<BLOCK>是要进行身份验证的块。 <KEY>是6字节密钥(例如,默认密钥为FF FF FF FF FF FF)。 <UID>是4字节UID(或7字节UID的最后4个字节)。

因此,如果要对UID为A0 A1 A2 A3 A4 A5的标记上的块0使用键A 04 AA BB CC DD EE FF进行身份验证,则可以使用以下命令:

FF 00 0000 0F D440 01 60 00 A0A1A2A3A4A5 CCDDEEFF

在较新版本的阅读器上,您可以使用PC / SC定义的非接触式存储卡的标准化机制:

  • 加载身份验证密钥:

    FF 82 0000 06 <KEY>
    
  • 验证

    FF 86 0000 05 0100 <BLOCK> <AUTH_TYPE> 00