Я могу писать в 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)
Заранее спасибо!