Команда TAG 216 PWD_AUTH не удалась после установки пароля с помощью NFC Tols

Я могу писать в TAG 216, используя защиту паролем. И я могу аутентифицироваться с помощью своего собственного приложения.

Проблема возникает, когда я помещаю защиту паролем в тег с помощью внешнего инструмента, такого как «Инструмент NFC», а на втором этапе пытаюсь переписать тег с помощью своего приложения.

Когда я пытаюсь:

response = ndef.transceive(new byte[]{
                            Constants.PWD_COMMNAND, // PWD_AUTH
                            pass[0], pass[1] , pass[2], pass[3]
                    });

Я получаю java.io.IOException: Transceive failed.

Тем не менее, если я напишу свой пароль таким образом:

response = ndef.transceive(new byte[]{ Constants.WRITE_COMMNAND, // WRITE PWD_PAG, // page address pass[0] , pass[1] , pass[2] , pass[3]
});
Тогда команда PWD_AUTH не завершается ошибкой, и я могу писать в тег.

Кажется, что инструменты NFC хранят пароль по-другому.

Я получаю байты пароля таким образом:

byte[] pass =password.getBytes("UTF-8");

Может быть, нужна какая-то маска для того, чтобы написать пароль? Когда я пишу пароль "1111" Журнал:

byte[] pass =password.getBytes("UTF-8");
Log.d(TAG,"Password ("+pass[0]+","+ pass[1] +","+ pass[2] +","+ pass[3] +")

Является ли: Пароль (49,49,49,49)

Заранее спасибо!


person Alex Rodriguez    schedule 10.07.2018    source источник


Ответы (1)


Наконец, я могу подтвердить, что NFC Tools преобразует пароль в 4 байта с помощью операции MD5.

Спасибо людям с https://www.wakdev.com/

person Alex Rodriguez    schedule 13.07.2018