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