RFID MC522 key a key b

Ciao a tutti, non riesco a capire la funzione key.keyByte = 0xFF;
*Da come ho capito io, ma sicuramente mi sbaglio, identifica il tipo di chiave ? A o B. In più volevo sapere, se nella chiave si può cambiare il valore facendo in modo che può essere letto solo sul mio MC522 ? *

  • // Prepare the key (used both as key A and as key B)
        // using FFFFFFFFFFFFh which is the default at chip delivery from the factory
        for (byte i = 0; i < 6; i++) {
            key.keyByte[i] = 0xFF;

Ciao, sto sempre cercando di capire come fare a bloccare la lettura delle key, al di fuori dal mio sistema. Ora mi sono imbattuto in questo. Questa riga mi da errore

Serial.println(mfrc522.PCD_NTAG216_AUTH(&PSWBuff[0], pACK)); //Request Authentification if return STATUS_OK we are good Dandomi questo errore

perchè ?
Il codice completo. Con l’errore

//This example show how you can get Authenticated by the NTAG213,215,216 by default the tags are unprotected in order to protect them we need to write 4 different values:
// Using mfrc522.MIFARE_Ultralight_Write(PageNum, Data, #Databytes))
//1.- we need to write the 32bit passWord to page 0xE5 !for ntag 213 and 215 page is different refer to nxp documentation!
//2.- Now Write the 16 bits pACK to the page 0xE6 use the 2 high bytes like this: pACKH + pACKL + 00 + 00 after an authentication the tag will return this secret bytes
//3.- Now we need to write the first page we want to protect this is a 1 byte data in page 0xE3 we need to write 00 + 00 + 00 + firstPage  all pages after this one are write protected
// Now WRITE protection is ACTIVATED so we need to get authenticated in order to write the last data
//4.- Finally we need to write an access record in order to READ protect the card this step is optional only if you want to read protect also write 80 + 00 + 00 + 00 to 0xE4
//After completeing all these steps you will nee to authentiate first in order to read or write ant page after the first page you selected to protect
//To disengage proection just write the page (0xE3) to 00 + 00 + 00 + FF that going to remove all protection
//Made by GARGANTUA from RoboCreators.com & paradoxalabs.com

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN    9   // 
#define SS_PIN    10    //

MFRC522 mfrc522(SS_PIN, RST_PIN); // Create MFRC522 instance

void setup() {
  Serial.begin(9600);   // Initialize serial communications with the PC
  while (!Serial);    // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  SPI.begin();      // Init SPI bus
  mfrc522.PCD_Init();   // Init MFRC522
  Serial.println(F("Scan PICC to see UID, type, and data blocks..."));

void loop() {
  // Look for new cards
  if ( ! mfrc522.PICC_IsNewCardPresent()) {

  // Select one of the cards
  if ( ! mfrc522.PICC_ReadCardSerial()) {

  byte PSWBuff[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; //32 bit PassWord default FFFFFFFF
  byte pACK[] = {0, 0}; //16 bit PassWord ACK returned by the NFCtag

  Serial.print("Auth: ");
  Serial.println(mfrc522.PCD_NTAG216_AUTH(&PSWBuff[0], pACK)); //Request Authentification if return STATUS_OK we are good

  //Print PassWordACK
  Serial.print(pACK[0], HEX);
  Serial.println(pACK[1], HEX);

  byte WBuff[] = {0x00, 0x00, 0x00, 0x04};
  byte RBuff[18];

  //Serial.print("CHG BLK: ");
  //Serial.println(mfrc522.MIFARE_Ultralight_Write(0xE3, WBuff, 4));  //How to write to a page

  mfrc522.PICC_DumpMifareUltralightToSerial(); //This is a modifier dunp just cghange the for cicle to < 232 instead of < 16 in order to see all the pages on NTAG216


C:\Users\gianluca\AppData\Local\Temp\arduino_modified_sketch_349782\sketch_dec10d.ino: In function ‘void loop()’:

sketch_dec10d:43: error: ‘class MFRC522’ has no member named ‘PCD_NTAG216_AUTH’

Serial.println(mfrc522.PCD_NTAG216_AUTH(&PSWBuff[0], pACK)); //Request Authentification if return STATUS_OK we are good


Più di una libreria trovata per “SPI.h”
Usata: C:\Program Files (x86)\Arduino\hardware\arduino\avr\libraries\SPI
Non usata: C:\Program Files (x86)\Arduino\libraries\SPI
exit status 1
‘class MFRC522’ has no member named ‘PCD_NTAG216_AUTH’

Ho modificato la descrizione con questa:

Serial.println(mfrc522.PCD_Authenticate(&PSWBuff[0], pACK));

dove sbaglio ?