1

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

4

1 回答 1

2

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

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

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

因此,如果您想使用密钥 AA0 A1 A2 A3 A4 A5对具有 UID 的标签上的块 0进行身份验证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
    
于 2014-09-21T20:56:56.950 回答