2014-09-03 2 views
0

У меня есть два типа тегов Mifare Classic. Один имеет UID 4 байта, а другой имеет 7 байт. Я пытаюсь прочитать блок обоих. Мне удастся прочитать блок тега с 4-байтным UID, но не смог аутентифицироваться в случае 7-байтового UID. Читателем, который я использую, является ACR122U и читается с использованием инструмента ACR122U.Не удается аутентифицировать тег NFC, имеющий 7 байт UID ACR122U

ответ

1

Предполагая, что вы используете старую версию ACR122U, вы должны использовать команду PN532 обмена данными, чтобы отправить команду аутентификации:

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

<TAG_ID> является индексом метки на читателя (обычно 0х01) , <AUTH_TYPE> - это 0x60, если вы хотите выполнить аутентификацию с помощью ключа A и 0x61, если вы хотите выполнить аутентификацию с помощью ключа B. <BLOCK> - это блок для аутентификации. <KEY> - это 6-байтовый ключ (например, FF FF FF FF FF FF для ключа по умолчанию). <UID> - это 4-байтовый UID (или последние 4 байта 7-байтового UID).

Так что, если вы хотите проверку подлинности с помощью ключа A A0 A1 A2 A3 A4 A5 для блока 0 на тег с UID 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 
    
+0

Да, я использовал старую версию ACR122U .. –

+0

Привет! Не могли бы вы рассказать о точном значении «более старых» и «новых» версий? например: версия прошивки или аппаратная ревизия. –

+0

Прошивка для чтения –

Смежные вопросы