Android NF C: Как установить пароль и авторизацию на NF C TAG? - PullRequest
0 голосов
/ 27 мая 2020

У меня есть ntag213, использующий response-native-nf c -manager и использующий его с andriod в документации для моего тега https://www.nxp.com/docs/en/data-sheet/NTAG213_215_216.pdf Я понимаю, что сначала мне нужно пройти аутентификацию с помощью команды 0x1B, чтобы 0x2B и мой пароль: 0xFF1FFFFF

let cmd = Platform.OS === 'ios' ? NfcManager.sendMifareCommandIOS : NfcManager.transceive; resp = await cmd(0x1B,0x2B,0xFF1FFFFF);

Но у меня на экране ошибка, и я не понимаю, что делать дальше после авторизации. Объясните, пожалуйста, как это работает enter image description here

1 Ответ

1 голос
/ 27 мая 2020

Я думаю, что есть 2 проблемы с командой, которую вы пытаетесь отправить.

1) transceive принимает только массив байтов, а 0xFF1FFFFF не массив байтов, а большое число, которое потребует двойного для хранения.

Таким образом, вы пытаетесь отправить (byte, byte, double) и сообщение об ошибке, которое не может привести к двойному массиву.

2) команда pwd_auth принимает только байтовый массив из 5 байтов, 1 байтовая команда + 4 байта пароля, поэтому не знаю, почему у вас там 0x2B.

Итак Попробуйте

let cmd = Platform.OS === 'ios' ? NfcManager.sendMifareCommandIOS : NfcManager.transceive; resp = await cmd([0x1B,0xFF,0x1F,0xFF,0xFF]);

Затем убедитесь, что у вас правильный ПАКЕТ и вы не получили NACK

Я не использую пароли в своем приложении, но я верю затем вы аутентифицируетесь для отправки обычных команд, пока вы не закроете соединение или пока карта не выйдет за пределы допустимого диапазона.

...