我有两种 Mifare Classic 标签。一个有 4 个字节的 UID,另一个有 7 个字节。我正在尝试阅读两者的块。我成功读取了具有 4 字节 UID 的标签块,但在 7 字节 UID 的情况下无法进行身份验证。我使用的阅读器是 ACR122U,使用 ACR122U 工具阅读。
user2578909
问问题
1947 次
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 回答