Добрый вечер. После чтения UID карты захотелось прочитать/записать данные из секторов. Прочитать удалось, записать тоже. Однако вопросы начались, когда я попытался установить ключи, отличные от стандартных (FF FF FF FF FF FF) и другие биты доступа (смотрел на калькулятор здесь: http://www.akafugu.jp/posts/blog/2015_09_01-MIFARE-Classic-1K-Access-Bits-Calculator/ ). Ясное дело, запортил 0 сектор, хотя знал что туда лучше ничего не писать И еще странное дело: после вызова метода MIFARE_SetAccessBits и последующего чтения, биты доступа устанавливаются не те, что программировались Однако я так и не смог разобраться как верно установить ключи и верные биты доступа. Кто-то возможно работал со сменой ключей и битов доступа на mifare картах ? Т.е. задача примерно такая: записать в 1 сектор некую информацию, чтобы по ключу А (стандартному) она читалась, но не могла записываться, а записывать бы она могла только по ключу В, который заранее известен только записывающей системе. Библиотеку использую стандартную: MFRC522
Тоже разбираюсь с этой темой. В 0 сектор не надо ниче писать менять. Блок 1 страница 7, блок 2 страница 11, блок 3 страница 15 содержат ключи доступа и access bits своих блоков. С access bits интересно. Им можно контролировать доступ каждой из трех страниц блока отдельно. И контролировать доступ к самому access bits т.е можно скрывать ключи и т.п Есть калькулятор access bits http://ericbetts.org/MIFARE-Classic-1K-Access-Bits-Calculator/ первые три таблицы это настройка доступа к трем страницам блока. четвертая таблица это доступ к access bits. Все достаточно гибко. Но это пока в теории, менять ключи только предстоит. У меня получилось 0x78 0x77 0x88 Есть оба ключа, но запись только по второму. Калькулятор во вложении на всякий. структура 3,7,11,15 страницы 6 ключи 4 access bits FFFFFFFFFFFF FFFFFFFF FFFFFFFFFFFF [Key A ] [AccessBits] [Key B ] ********************************** Проверил все работает. Ридер на PN532