Online Store

MIFARE® Card Programming - µFR Advanced Software SDK

Advanced MIFARE® Cards reading & writing source code software example

MIFARE SDK ist in den folgenden Programmiersprachen verfügbar

  • Java (einschließlich Applet),
  • JavaScript,
  • Lazarus
  • Borland Delphi
  • C++ Builder,
  • Microsoft® Visual C++ .NET
  • Microsoft® Visual C# .NET
  • Microsoft® Visual Basic .NET

Docs & Software Download

LinearWrite, LinearWrite_AKM1, LinearWrite_AKM2, LinearWrite_PK

Diese Funktionen werden zum Schreiben von Daten mithilfe der Emulation des linearen Adressraums verwendet. Das Verfahren zum Nachweis der Authentizität wird durch das Suffix in den Namen der Funktion bestimmt:MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 1

  • aucData – Zeiger auf die Sequenz von Bytes, die Daten zum Schreiben enthalten
  • usLinearAddress – Lineare Adresse, bei der das Schreiben von Daten beabsichtigt ist
  • usDataLength – Anzahl der Bytes für den Eintrag. In aucData müssen mindestens usDataLength-Bytes zugewiesen werden, bevor die Funktion aufgerufen werden kann.
  • lpusBytesWritten – Zeiger auf eine Variable vom Typ "unsigned short", in die die Anzahl der erfolgreich gelesenen Bytes von der Karte geschrieben wird. Wenn der Eintrag erfolgreich abgeschlossen wurde, entsprechen diese Daten dem usDataLength-Parameter. Wenn beim Schreiben einiger Blöcke ein Fehler aufgetreten ist, gibt die Funktion die Anzahl der erfolgreich geschriebenen Bytes über diesen Parameter zurück.
  • ucAuthKey – Dieser Parameter definiert, ob die Authentifizierung mit dem Schlüssel A oder dem Schlüssel B durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden.
 

LinearFormatCard, LinearFormatCard_AKM1, LinearFormatCard_AKM2, LinearFormatCard_PK

Diese Funktionen werden für das Schreiben neuer Tasten A und B sowie für Zugriffsbits in den Trailern aller Sektoren verwendet. Die Einstellung der neunten Trailer-Bytes ist aktiviert (ein allgemeines Byte, in das ein beliebiger Wert eingegeben werden kann). In allen Sektoranhängern wird für die gesamte Karte derselbe Wert festgelegt, so dass die gleichen Schlüssel und Zugriffsrechte gültig sind. Da es notwendig ist, die Authentizität auf der Basis früherer Schlüssel nachzuweisen, bevor in die Sektoranhänger geschrieben wird, sind diese Funktionen potentiell geeignet, die neue Karte zu initialisieren (die Authentifizierung erfolgt mit Transportschlüsseln, alle Schlüsselbytes sind 0xFF) oder sie mit den gleichen Schlüsseln und Zugriffsrechten für alle Sektoren neu zu initialisieren. Sicherlich müssen die zuvor gesetzten Zugriffsrechte (Zugriffsbits) immer vorsichtig sein, falls das Ändern einiger Schlüssel oder Bits für die Zugriffsrechtekontrolle deaktiviert ist.

SektorTrailerSchreiben

Diese Funktionsgruppe bietet eine größere Flexibilität bei Sektoranhängern und initiiert:MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten-Tags 2

  • aucNewKeyA – Zeiger auf 6-Byte-Array, das einen neuen A-Schlüssel enthält
  • ucBlocksAccessBits – Die Zugriffsbitswerte, die Berechtigungen für alle Datenblöcke definieren. Es kann Werte von 0 bis 7 haben
  • ucSectorTrailersAccessBits – Der Zugriffsbitwert, der Zugriffsberechtigungen für alle Sektortrailer definiert. Es kann Werte von 0 bis 7 haben
  • ucSectorTrailersByte9 – Der Zugriffsbitwert, der Zugriffsberechtigungen für alle Sektortrailer definiert. Es kann Werte von 0 bis 7 haben
  • aucNewKeyB – Zeiger auf 6-Byte-Array, das eine neue B-Taste enthält
  • lpucSectorsFormatted – Zeiger auf eine Variable vom Typ "unsigned char", über die die Anzahl der erfolgreich formatierten Sektortrailer zurückgegeben wird. Zb. Wenn alle Sektoranhänger erfolgreich initialisiert wurden, gibt MIFARE® 1K über diesen Parameter den Wert 16 zurück, der die Anzahl der Sektoren darstellt. Im Fehlerfall ist der Parameter ein Hinweis auf die Anzahl der erfolgreich initialisierten Sektoren, die bei Null beginnen.
  • ucAuthModeDieser Parameter definiert, ob die Authentifizierung mit einem A-Schlüssel oder einem B-Schlüssel durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden.
  • aucProvidedKey – Zeiger auf die sechste Bytezeichenfolge, die den Schlüssel für die Authentizität enthält, die in der "Provided Key"-Methode nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methodenverwendung an.
 

Funktionen zum Arbeiten mit Datenbausteinen

BlockRead, BlockRead_AKM1, BlockRead_AKM2, BlockRead_PK

Diese Funktionsgruppe wird zum Lesen von Blockinhalten verwendet. Liest immer den gesamten Block (16 Byte des Blocks). Funktionen verwenden die sogenannte Blockadressierung (der erste Block hat die Adresse 0; der erste Sektortrailer hat die Adresse 3, der nächste 7 usw., bis der letzte MIFARE® 1K-Block, der auch ein Anhänger des letzten Sektors ist, eine Adresse 63 hat). Diese Funktionen ermöglichen auch das Lesen der Inhalte des Sektortrailers (der verfügbare Teil zum Lesen, abhängig von den eingestellten Zugriffsrechten).

MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 3

  • aucData – Zeiger auf die Anzahl der Bytes, in denen gelesene Daten gespeichert werden. Muss mindestens 16 Bytes zugewiesen werden, bevor die Funktion aufgerufen werden kann.
  • ucBlockAddress – ucAuthMode-Blockadresse. Dieser Parameter definiert, ob Authentifizierung A-Schlüssel oder B-Schlüssel durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden
  • ucSectorTrailersByte9 – Der Zugriffsbitwert, der Zugriffsberechtigungen für alle Sektortrailer definiert. Es kann Werte von 0 bis 7 haben
  • aucProvidedKey – Zeiger auf das sechste Byte-Array, das den Schlüssel für die Authentizität enthält, der in der Methode "Provided Key" nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methodenverwendung an.

Diese Funktionen funktionieren genauso wie BlockRead-Gruppenfunktionen und sind für das Lesen von Blockinhalten gedacht. Der einzige Unterschied besteht darin, dass die sektorale Adressierung verwendet wird. Dazu gehört auch das separate Senden von Sektoradressen und Blockadressen innerhalb eines Sektors. Für MIFARE® 1K kann die Sektoradresse im Bereich von 0 bis 15 liegen und die Blockadresse innerhalb des Sektors zwischen 0 und 3 liegen. Für MIFARE® 4k Sektoradresse kann im Bereich von 0 bis 39 liegen und da die zweite Hälfte der Adressraumorganisation anders ist (über 2 MB), kann die Blockadresse in den letzten 8 Sektoren (Sektoren 32 bis 39) im Bereich von 0 bis 15 liegen. Der gesamte Block (16-Byte-Block) wird immer gelesen.

 

Diese Funktionen können die Inhalte der Sektortrailer lesen (der verfügbare Teil zum Lesen, abhängig von den festgelegten Zugriffsrechten).

  • aucData – Zeiger auf das Bytes-Array, in dem gelesene Daten gespeichert werden. Es müssen mindestens 16 Byte zugewiesen werden, bevor die Funktion aufgerufen wird.
  • ucSectorAddress – Branchenadresse
  • ucBlockInSectorAddress – Adresse innerhalb eines Sektors blockieren
  • ucAuthMode – Dieser Parameter definiert, ob die Authentifizierung mit einem Schlüssel A oder einem B-Schlüssel durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden
  • aucProvidedKey – Zeiger auf das Sechst-Byte-Array, das den Schlüssel für die Authentizität enthält, der in der "Provided Key"-Methode nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methode an.

BlockWrite, BlockWrite_AKM1, BlockWrite_AKM2, BlockWrite_PK

Diese Funktionen werden für die Dateneingabe (jeweils 16 Byte) in die Blöcke verwendet. Funktionen verwenden die sogenannte Blockadressierung (der erste Block hat die Adresse 0; der erste Sektortrailer hat die Adresse 3, der nächste 7 usw., bis der letzte MIFARE® 1K-Block, der auch ein Anhänger des letzten Sektors ist, eine Adresse 63 hat). Diese Funktionsgruppe erlaubt keine direkte Dateneingabe in die Sektortrailer. Verwenden Sie dazu die Sonderfunktionen SectorTrailerWrite und SectorTrailerWriteUnsafe.

MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 4

  • aucData – Zeiger auf die Anzahl der Bytes, in denen gelesene Daten gespeichert werden. Muss mindestens 16 Byte zugewiesen werden, bevor die Funktion aufgerufen werden kann
  • ucBlockAddress – Kartenblockadresse
  • ucAuthMode – Dieser Parameter definiert, ob die Authentifizierung mit Schlüssel A oder Schlüssel B durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die gelesen werden
  • aucProvidedKey – Zeiger auf das sechste Byte-Array, das den Schlüssel für die Authentizität enthält, der in der Methode "Provided Key" nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methodenverwendung an.
 

FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER.

BlockInSectorWrite, BlockInSectorWrite_AKM1, BlockInSectorWrite_AKM2, BlockInSectorWrite_PK

Diese Funktionen funktionieren genauso wie BlockWrite-Gruppenfunktionen. Sie werden für die Dateneingabe (jeweils 16 Byte) in Blöcke verwendet. Der einzige Unterschied ist die Verwendung von Sektoradressierung. Sektoradressierung bedeutet getrennte Sendesektor- und Blockadressen innerhalb eines Sektors. Für MIFARE® 1K kann die Sektoradresse im Bereich von 0 bis 15 liegen und die Blockadresse innerhalb des Sektors zwischen 0 und 3 liegen. Für MIFARE® 4k Sektoradresse kann im Bereich von 0 bis 39 liegen und da die zweite Hälfte der Adressraumorganisation anders ist (über 2 MB), kann die Blockadresse in den letzten 8 Sektoren (Sektoren 32 bis 39) im Bereich von 0 bis 15 liegen. Diese Funktionsgruppe erlaubt keine direkte Dateneingabe in die Sektortrailer. Verwenden Sie dazu die Sonderfunktionen SectorTrailerWrite und SectorTrailerWriteUnsafeMIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 5

  • aucData – Zeiger auf die Anzahl der Bytes, in denen gelesene Daten gespeichert werden. Muss mindestens 16 Byte zugewiesen werden, bevor die Funktion aufgerufen werden kann
  • ucSectorAddress – Branchenadresse
  • ucBlockInSectorAddress – Dieser Parameter definiert, ob die Authentifizierung mit dem Schlüssel A oder B durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61)
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden
  • aucProvidedKey – Zeiger auf das sechste Byte-Array, das den Schlüssel für die Authentizität enthält, der in der Methode "Provided Key" nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methodenverwendung an.
 

FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER.

SectorTrailerSchreiben, SectorTrailerWrite_AKM1, SectorTrailerWrite_AKM2, SectorTrailerWrite_PK

Diese Funktionen werden für das Schreiben von Daten in den Sektoranhängern verwendet. Funktionen können auch für die Blockadressierung von Sektoranhängern sowie für die Sektoradressierung verwendet werden, die durch den Parameter ucAddressingMode bestimmt wird. MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 6Im Falle der Blockadressierung hat der erste Block die Adresse 0; Trailer hat eine erste Sektoradresse 3 und die nächsten 7 usw. bis zum letzten Block von MIFARE® 1k, der auch ein Anhänger des letzten Sektors ist und eine Adresse 63 hat. Diese Funktionsgruppe vereinfacht die Bitmanipulation für die Einstellung der Zugriffsrechte (Zugriffsbits) von Bausteinen und minimiert die Möglichkeit einer dauerhaften Sperrung des gesamten Sektors aufgrund falscher Formatierung dieser Bits. Die Formatierung der Zugriffsbits erfolgt durch den RFID-Leser vor dem Schreiben. API-Benutzer können die entsprechenden Sperrzugriffsrechte, die durch die Werte 0 bis 7 dargestellt werden, auswählen und an diese Funktionen übermitteln.

 

Für Sektoranhänger gelten folgende Zugriffsrechte:MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten-Tags 7

  • Zugriffsbits C1 C2 C3
  • Zugriffswerte (an die Funktion übermittelt)
  • Zugriffsrechte
  • Schlüssel A Bytes mit den Zugriffsbits und dem Neun-Byte-Schlüssel B
  • Lesen und Schreiben
 

Für Sektoranhänger gelten folgende Zugriffsrechte:

* Wenn die Zugriffsrechte für den Sektoranhänger eines entsprechenden Sektors so eingerichtet sind, dass es möglich ist, B-Schlüssel zu lesen, kann er in keinem der Fälle zur Authentifizierung verwendet werden. Diese Funktionen setzen auch neue Sektorschlüssel, wenn sie auf Zugriffsrechte zugreifen dürfen.

  • Zugriffsbits C1 C2 C3MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 8
  • Zugriffswerte (an die Funktion übermittelt)
  • Zugriffsrechte
  • Lesen, Schreiben, Inkrement, Dekrementieren
 
  • ucAddressingMode – Gibt den Adressmodus an. Mögliche Werte dieses Parameters sind BLOCK_ADDRESS_MODE (0x00) oder SECTOR_ADDRESS_MODE (0x01). Wenn ein anderer Wert gesendet wird, gibt die Funktion einen Fehlercode zurück WRONG_ADDRESS_MODE
  • ucAddress – Sektoren oder Sektoranhänger blockiert die Adresse, abhängig von ucAddressingMode. Wenn Sie einen Sektoradressmodus verwenden, z. B. den MIFARE Classic® 1K, kann der Bereich von 0 bis 15 liegen (hat 16 Sektoren). Derselbe Typ im Blockadressierungsmodus kann die Werte von 0 bis 63 verwenden, sofern ein Fehler auftritt, wenn der adressierte Block nicht auch der Sektortrailer ist.
  • aucNewKeyA – Zeiger auf das 6-Byte-Array, das einen neuen A-Schlüssel für einen bestimmten Sektor darstellt, der festgelegt wird, wenn dies zuvor mit den Zugriffsrechten zulässig war
  • aucNewKeyB – Zeiger auf das Sechs-Byte-Array, das einen neuen B-Schlüssel für einen bestimmten Sektor darstellt, der festgelegt wird, wenn dies zuvor mit den Zugriffsrechten zulässig war
  • ucBlock0AccessBits – Zugriffswert für den 0-Block eines Sektors.

MIFARE® 4k hat eine andere Organisation für die letzten 8 Sektoren, die zweite Hälfte des Adressraums. Daher werden in diesen Sektoren die Zugriffsrechte wie folgt festgelegt:

  • Zugriffsrechte auf die ersten 5 Blöcke – ucBlock1AccessBits Zugriffswertblock für den ersten Sektor
  • Zugriffsrechte auf die zweiten 5 Blöcke – ucBlock2AccessBits Zugriffswertblock für den ersten Sektor
  • Zugriffsrechte auf die letzten 5 Blöcke:
    • ucSectorTrailerAccessBits – Zugriffswert für einen Sektortrailer
    • ucSectorTrailerByte9 – Das neunte Sektortrailer-Byte ist ein Byte für allgemeine Zwecke, in das ein beliebiger Einzelbytewert eingegeben werden kann
    • ucAuthMode – Dieser Parameter definiert, ob die Authentifizierung mit Schlüssel A oder Schlüssel B durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61)
    • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden
    • aucProvidedKey – Zeiger auf das sechste Byte-Array, das den Schlüssel für die Authentizität enthält, der in der Methode "Provided Key" nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methodenverwendung an.

SectorTrailerWriteUnsafe, SectorTrailerWriteUnsafe_AKM1, SectorTrailerWriteUnsafe_AKM2, SectorTrailerWriteUnsafe_PK

Diese Funktionen haben den gleichen Zweck wie die Funktion der SectorTrailerWrite-Gruppe, mit dem Unterschied, dass der Inhalt des "rohen" Sektortrailers gesendet wird, und die Fehler sind beim Formatieren von Zugriffsbits für die Eingabe möglich. Diese Funktionen richten sich an Entwickler mit Erfahrung in der Arbeit mit MIFARE.® Für diese Funktionen gelten alle für die SectorTrailerWrite-Gruppenfunktionen genannten Regeln, mit Ausnahme der Option der "Rohdaten" für die Sektortrailererfassung.

  • ucAddressingMode – Gibt den Adressmodus an. Mögliche Werte dieses Parameters sind BLOCK_ADDRESS_MODE (0x00) oder SECTOR_ADDRESS_MODE (0x01). Wenn ein anderer Wert gesendet wurde, gibt die Funktion einen Fehlercode WRONG_ADDRESS_MODE zurück.
  • ucAddress – Sektoren oder Sektoranhänger blockieren Adressen, abhängig von ucAddressingMode.

Wenn Sie einen Sektoradressmodus verwenden, kann der Bereich im Fall von MIFARE® 1K zwischen 0 und 15 liegen (hat 16 Sektoren) und derselbe Typ im Blockadressierungsmodus kann die Werte 0 bis 63 mit dem möglichen Fehler verwenden, wenn der adressierte Block nicht auch der Sektoranhänger ist.

  • aucSectorTrailer – Zeiger auf 6-Byte-Array, das die "rohen" Daten für den Adresssektor-Trailereintrag enthält
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61)
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden
  • aucProvidedKey – Zeiger auf das sechste Byte-Array, das den Schlüssel für die Authentizität enthält, der in der Methode "Provided Key" nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methodenverwendung an.

Funktionen zum Arbeiten mit Wertebausteinen

Wertblöcke stellen eine optionale MIFARE-Funktionalität® dar. Dies ist eigentlich ein Modus, in dem der gesamte Datenblock (16 Bytes) einen Vier-Byte-Wert darstellt. In diesem Modus können Sie einen beliebigen Datenblock hinzufügen (außer natürlich Block 0, dem Nullsektor und dem Sektortrailer). Die Werte in den Werteblöcken sind auf besondere Weise formatiert und enthalten zusätzlich zu den Wertdatensätzen den Adresswert eines Bytes, wodurch Benutzer die zusätzliche Möglichkeit haben, das Backup-System zu implementieren.

D-Logic RFID-Lesegeräte kümmern sich um die korrekte Formatierung von Werteblöcken, sodass die Funktionen, die nur mit vier Byte-Werten verarbeitet werden, den Benutzern zur Verfügung stehen. Es sollte erwähnt werden, dass die Verwendung von Werteblöcken sinnvoll ist, wenn die Zugriffsrechte auf den gewünschten Block auf die Werte 1, 6 oder 0 (die Standardeinstellung in der neuen Karte) festgelegt sind, wodurch ihre Werte erhöht und verringert werden können. Zunächst müssen Wertblöcke initiiert werden, Wert und zugehörige Adresse müssen dem entsprechenden Format von sechzehn Byte-Datensätzen entsprechen. Der beste und einfachste Weg für die Initialisierung von Wertblöcken ist mit einer Reihe von Windows-API-Funktionen IS21 ValueBlockWrite oder ValueBlockInSectorWrite.

ValueBlockRead, ValueBlockRead_AKM1, ValueBlockRead_AKM2, ValueBlockRead_PK

Diese Funktionen machen dasselbe wie ValueBlockRead-Gruppenfunktionen und eignen sich zum Lesen von 4-Byte-Werten der Wertblöcke. Zusätzlich geben sie die zugehörige Adresse zurück, die im Werteblock hinterlegt ist. Der einzige Unterschied ist die Verwendung der sogenannten sektoralen Adressierung. Sektorale Adressierung bedeutet, dass Sektor- und Blockadressen innerhalb eines Sektors getrennt gesendet werden. Für MIFARE® 1K kann die Sektoradresse im Bereich von 0 bis 15 liegen und die Blockadresse innerhalb des Sektors zwischen 0 und 3 liegen. Für MIFARE® 4k Sektoradresse kann im Bereich von 0 bis 39 liegen und da die zweite Hälfte der Adressraumorganisation anders ist (über 2 MB), kann die Blockadresse in den letzten 8 Sektoren (Sektoren 32 bis 39) im Bereich von 0 bis 15 liegen.

MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten-Tags 9

  • lValue – Zeiger auf eine Variable eines langen Typs, über die der value-Block zurückgegeben wird
  • ucValueAddr – Das neunte Sektortrailer-Byte ist ein Byte für allgemeine Zwecke, in das ein beliebiger Einzelbyte-Wert eingegeben werden kann
  • ucSectorAddress – Branchenadresse
  • ucBlockInSectorAddress – Adresse in einem Sektor blockieren
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61)
  • ucReaderKeyIndex – die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt es für alle Sektoren zum Schreiben
  • aucProvidedKey – Zeiger auf das Sechs-Byte-Array, das den Schlüssel für die Authentifizierung der Methode "Provided Key" enthält. _PK Funktionsnamenssuffix weist auf die Verwendung dieser Methode hin.
 

ValueBlockInSectorRead, ValueBlockInSectorRead_AKM1, ValueBlockInSectorRead_AKM2, ValueBlockInSectorRead_PK

Diese Funktionen machen dasselbe wie ValueBlockRead-Gruppenfunktionen und eignen sich zum Lesen von 4-Byte-Werten der Wertblöcke. Zusätzlich geben sie die zugehörige Adresse zurück, die im Werteblock hinterlegt ist. Der einzige Unterschied ist die Verwendung der sogenannten sektoralen Adressierung. Sektorale Adressierung bedeutet, dass Sektor- und Blockadressen innerhalb eines Sektors getrennt gesendet werden. Für MIFARE® 1K kann die Sektoradresse im Bereich von 0 bis 15 liegen und die Blockadresse innerhalb des Sektors zwischen 0 und 3 liegen. Für MIFARE® 4k Sektoradresse kann im Bereich von 0 bis 39 liegen und da die zweite Hälfte der Adressraumorganisation anders ist (über 2 MB), kann die Blockadresse in den letzten 8 Sektoren (Sektoren 32 bis 39) im Bereich von 0 bis 15 liegen.

MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 13

  • lValue – Zeiger auf eine Variable eines langen Typs, über die der value-Block zurückgegeben wird
  • ucValueAddr – Der Verweis auf eine Variable vom Typ unsigned char wird über die Ein-Byte-Adresse zurückgegeben, was die zusätzliche Möglichkeit für eine Backup-Systemimplementierung bietet
  • ucSectorAddress – Branchenadresse
  • ucBlockInSectorAddress – Adresse in einem Sektor blockieren
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61)
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt es für alle Sektoren zum Schreiben
  • aucProvidedKey – Zeiger auf das Sechs-Byte-Array, das den Schlüssel für die Authentifizierung der Methode "Provided Key" enthält. _PK Funktionsnamenssuffix weist auf die Verwendung dieser Methode hin.
 
 

ValueBlockWrite, ValueBlockWrite_AKM1, ValueBlockWrite_AKM2, ValueBlockWrite_PK

Diese Funktionen werden verwendet, um Werte für vierte Byte-Wertblöcke zu initialisieren und zu schreiben und die zugehörige Adresse im Werteblock zu speichern. Funktionen mit der sogenannten Blockadressierung (der erste Block hat die Adresse 0; Anhänger hat eine erste Sektoradresse 3 und die nächsten 7 usw. bis zum letzten Block von MIFARE® 1k, der auch ein Anhänger des letzten Sektors ist und eine Adresse 63 hat).MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 14

  • lValue – Wert für den Wertblockeintrag
  • ucValueAddr – Dem Werteblock zugeordnete Adresse
  • ucBlockAddress – Adresse blockieren
  • ucAuthMode – Dieser Parameter definiert, ob die Authentifizierung mit einem Schlüssel A oder einem B-Schlüssel durchgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt dies für alle Sektoren, die geschrieben werden
  • aucProvidedKey – Zeiger auf das sechste Byte-Array, das den Schlüssel für die Authentizität enthält, der in der Methode "Provided Key" nachgewiesen wird. _PK Suffix im Namen der Funktion gibt diese Methodenverwendung an.
 
 

ValueBlockInSectorWrite, ValueBlockInSectorWrite_AKM1, ValueBlockInSectorWrite_AKM2, ValueBlockInSectorWrite_PK

Diese Funktionen ähneln den ValueBlockWrite-Gruppenfunktionen. Sie verwenden für die Eingabe, Wertblöcke 4 Bytes Werte Initialisierung. Speichert außerdem die zugehörige Adresse im Blockwert. Der einzige Unterschied ist die sektorale Adressierungsverwendung. Sektorale Adressierung bedeutet, dass Sektor- und Blockadressen innerhalb eines Sektors getrennt gesendet werden. Für MIFARE® 1K kann die Sektoradresse im Bereich von 0 bis 15 liegen und die Blockadresse innerhalb des Sektors zwischen 0 und 3 liegen. Für MIFARE® 4k Sektoradresse kann im Bereich von 0 bis 39 liegen und da die zweite Hälfte der Adressraumorganisation anders ist (über 2 MB), kann die Blockadresse in den letzten 8 Sektoren (Sektoren 32 bis 39) im Bereich von 0 bis 15 liegen.MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten-Tags 15

  • lValue – Wert für den Wertblockeintrag
  • ucValueAddr – Dem Werteblock zugeordnete Adresse
  • ucSectorAddress – Branchenadresse
  • ucBlockInSectorAddress – Blockadresse eines Sektors
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt es für alle Sektoren zum Schreiben
  • aucProvidedKey – Zeiger auf das Sechs-Byte-Array, das den Schlüssel für die Authentifizierung der Methode "Provided Key" enthält. _PK Funktionsnamenssuffix weist auf die Verwendung dieser Methode hin.
 
 

ValueBlockIncrement, ValueBlockIncrement_AKM1, ValueBlockIncrement_AKM2 ValueBlockIncrement_PK

Dieser Funktionsumfang wird verwendet, um den Wert 4-Byte-Wertblöcke zu erhöhen. Der Wert des Wertblockinkrements wird als Parameter dieser Funktionen gesendet. Funktionen verwenden Blockadressierung (der erste Block hat die Adresse 0; der erste Sektoranhänger hat Adresse 3, der nächste 7 usw. bis der letzte MIFARE® 1K-Block, der auch ein Anhänger des letzten Sektors ist, eine Adresse 63 hat).MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 16

  • lIncrementValue – Der Wert des Wertblockinkrements
  • ucBlockAddress – Adresse in einem Sektor blockieren
  • ucSectorAddress – Branchenadresse
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt es für alle Sektoren zum Schreiben
  • aucProvidedKey – Zeiger auf das Sechs-Byte-Array, das den Schlüssel für die Authentifizierung der Methode "Provided Key" enthält. _PK Funktionsnamenssuffix weist auf die Verwendung dieser Methode hin.
 
 

ValueBlockInSectorIncrement, ValueBlockInSectorIncrement_AKM1, ValueBlockInSectorIncrement_AKM2 ValueBlockInSectorIncrement_PK

Diese Funktionen haben den gleichen Zweck wie ValueBlockIncrement-Gruppenfunktionen und werden zum Lesen von 4-Byte-Werten der Wertblöcke verwendet. Der Wert des Wertblockinkrements wird als Parameter dieser Funktionen gesendet. Der einzige Unterschied ist die sektorale Adressierungsverwendung. Sektorale Adressierung bedeutet, dass Sektor- und Blockadressen innerhalb eines Sektors getrennt gesendet werden. Für MIFARE® 1K kann die Sektoradresse im Bereich von 0 bis 15 liegen und die Blockadresse innerhalb des Sektors zwischen 0 und 3 liegen. Für MIFARE® 4k Sektoradresse kann im Bereich von 0 bis 39 liegen und da die zweite Hälfte der Adressraumorganisation anders ist (über 2 MB), kann die Blockadresse in den letzten 8 Sektoren (Sektoren 32 bis 39) im Bereich von 0 bis 15 liegen.MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 17

  • lIncrementValue – Der Wert des Wertblockinkrements
  • ucSectorAddress – Branchenadresse
  • ucBlockInSectorAddress – Adresse innerhalb eines Sektors blockieren
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt es für alle Sektoren zum Schreiben
  • aucProvidedKey – Zeiger auf das Sechs-Byte-Array, das den Schlüssel für die Authentifizierung der Methode "Provided Key" enthält. _PK Funktionsnamenssuffix weist auf die Verwendung dieser Methode hin.
 
 

ValueBlockDecrement, ValueBlockDecrement_AKM1, ValueBlockDecrement_AKM2, ValueBlockDecrement_PK

Dieser Satz von Funktionen wird verwendet, um den 4-Byte-Wert von Wertblöcken zu verringern. Der Wert der Wertblockabnahme wird als Parameter dieser Funktionen gesendet. Funktionen verwenden Blockadressierung (der erste Block hat die Adresse 0; der erste Sektoranhänger hat Adresse 3, der nächste 7 usw. bis der letzte MIFARE® 1K-Block, der auch ein Anhänger des letzten Sektors ist, eine Adresse 63 hat).MIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten-Tags 18

  • lDecrementValue – Der Wert von Wertblockabnahme
  • ucBlockAddress – Adresse innerhalb eines Sektors blockieren
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt es für alle Sektoren zum Schreiben
  • aucProvidedKey – Zeiger auf das Sechs-Byte-Array, das den Schlüssel für die Authentifizierung der Methode "Provided Key" enthält. _PK Funktionsnamensuffix gibt die Verwendung dieser Methode an.
 
 

ValueBlockInSectorDecrement, ValueBlockInSectorDecrement_AKM1, ValueBlockInSectorDecrement_AKM2, ValueBlockInSectorDecrement_PK

Diese Funktionen funktionieren genauso wie ValueBlockDecrement-Gruppenfunktionen und sind für die Wertblöcke 4-Byte-Werte Dekrementierung gemacht. Der Wert der Wertblockabnahme wird als Parameter an diese Funktionen gesendet. Der einzige Unterschied ist die sektorale Adressierungsverwendung. Dazu gehört auch das separate Senden von Sektoradressen und Blockadressen innerhalb eines Sektors. Für MIFARE® 1K kann die Sektoradresse im Bereich von 0 bis 15 liegen und die Blockadresse innerhalb des Sektors zwischen 0 und 3 liegen. Für MIFARE® 4k-Sektor kann die Adresse im Bereich von 0 bis 39 liegen und da die zweite Hälfte der Adressraumorganisation anders ist (über 2 MB), kann die Blockadresse in den letzten 8 Sektoren (Sektoren 32 bis 39) im Bereich von 0 bis 15 liegenMIFARE SDK - uFR Advanced Software mit SDK für MIFARE-Karten Tags 19

  • lDecrementValue – Der Wert von Wertblockabnahme
  • ucSectorAddress – Branchenadresse
  • ucBlockInSectorAddress – Adresse innerhalb eines Sektors blockieren
  • ucAuthMode – Dieser Parameter definiert, ob Authentifizierungsschlüssel A oder Schlüssel B ausgeführt werden soll. Es kann zwei Werte haben, nämlich: AUTHENT1A (0x60) oder AUTHENT1B (0x61).
  • ucReaderKeyIndex – Die Standardauthentifizierungsmethode (wenn die Funktionen ohne Suffix verwendet werden) führt den Authentizitätsnachweis mithilfe des ausgewählten Schlüsselindexes aus dem RFID-Lesegerät durch. Im linearen Adressmodus gilt es für alle Sektoren zum Schreiben
  • aucProvidedKey – Zeiger auf das Sechs-Byte-Array, das den Schlüssel für die Authentifizierung der Methode "Provided Key" enthält. _PK Funktionsnamenssuffix weist auf die Verwendung dieser Methode hin.