Online Store

MIFARE® Card Programming - µFR Advanced Software SDK

Advanced MIFARE® Cards reading & writing source code software example

MIFARE SDKは、次のプログラミング言語で利用できます

  • Java (アプレットを含む)
  • ジャバスクリプト,
  • ラザロ
  • ボーランドデルファイ、
  • C++ ビルダー,
  • Microsoft® Visual C++ .NET,
  • Microsoft® Visual C# .NET,
  • Microsoft® Visual Basic .NET

Docs & Software Download

リニア書き込み、LinearWrite_AKM1、LinearWrite_AKM2、LinearWrite_PK

これらの関数は、線形アドレス空間のエミュレーションを使用してデータを書き込むために使用されます。 信頼性を証明する方法は、関数の名前の接尾辞によって決まります。ミフェアSDK - MIFAREカードタグのためのSDKとuFR高度なソフトウェア 1

  • aucData – 書き込み用のデータを含むバイトシーケンスへのポインタ
  • usLinearAddress – データ書き込みが意図されているリニアアドレス
  • usDataLength – エントリのバイト数。 aucData では、関数を呼び出す前に最小 usDataLength バイトを割り当てる必要があります。
  • lpusBytesWritten – カードから正常に読み取られたバイト数が書き込まれる "符号なしショート" 型の変数へのポインター。 入力が正常に完了すると、このデータは usDataLength パラメーターと等しくなります。 一部のブロックの書き込み中にエラーが発生した場合、関数はこのパラメーターに正常に書き込まれたバイト数を返します。
  • ucAuthKey – このパラメーターは、A キーまたはキー B のどちらを使用して認証を実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
 

リニアフォーマットカード, LinearFormatCard_AKM1, LinearFormatCard_AKM2, LinearFormatCard_PK

これらの関数は、新しいキーAとBの書き込み、およびすべてのセクターのトレーラーのアクセスビットに使用されます。 9番目のトレーラーバイトの設定が有効になります(任意の値を入力できる汎用バイト)。 すべてのセクタートレーラーで、カード全体に同じ値が設定されるため、同じキーとアクセス権が有効です。 セクタートレーラーに書き込む前に、以前のキーに基づいて信頼性を証明する必要があるため、これらの関数は、新しいカードを初期化するか(認証はトランスポートキーで実行され、すべてのキーバイトが0xFF)、またはすべてのセクターで同じキーとアクセス権で再初期化するのに適している可能性があります。 確かに、アクセス権制御のための一部のキーまたはビットの変更が無効になっている場合に備えて、以前に設定されたアクセス権(アクセスビット)に常に注意する必要があります。

セクタートレーラー書き込み

この機能グループは、以下を開始するセクタートレーラーの柔軟性を高めます。ミフェアSDK - MIFAREカードタグのためのSDKとuFR高度なソフトウェア 2

  • aucNewKeyA – 新しい A キーを含む 6 バイト配列上のポインタ
  • ucBlocksAccessBits – すべてのデータ ブロックのアクセス許可を定義するアクセス ビット値。 0 から 7 までの値を指定できます。
  • ucSectorTrailersAccessBits – すべてのセクタートレーラーのアクセス許可を定義するアクセスビット値。 0 から 7 までの値を指定できます。
  • ucSectorTrailersByte9 – すべてのセクタートレーラーのアクセス許可を定義するアクセスビット値。 0 から 7 までの値を指定できます。
  • aucNewKeyB – 新しい B キーを含む 6 バイト配列上のポインタ
  • lpucSectorsFormatted – 正常にフォーマットされたセクタートレーラーの数が返される「符号なしchar」型の変数へのポインタ。 例えば。すべてのセクタートレーラーが正常に初期化された場合、MIFARE® 1Kでは、このパラメーターを介してセクター数を表す値16を返します。 エラーの場合、パラメータはゼロから始まる正常に初期化されたセクターの数を示します。
  • ucAuthModeこのパラメータは、認証 A キーと B キーのどちらを実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
  • aucProvideKey – "提供されたキー" メソッドで認証性を証明するためのキーを含む 6 番目のバイト文字列へのポインター。 _PK 関数名のサフィックスは、このメソッドの使用方法を示します。
 

データブロックを操作するための関数

ブロック読み取り、BlockRead_AKM1、BlockRead_AKM2、BlockRead_PK

この汎用グループは、ブロックコンテンツの読込に使用されます。 常にブロック全体 (ブロックの 16 バイト) を読み取ります。 関数はいわゆるブロックアドレス指定を使用します(最初のブロックはアドレス0、最初のセクタートレーラーはアドレス3、次のセクタートレーラーは7など、最後のセクターのトレーラーでもある最後のMIFARE® 1Kブロックはアドレス63を持ちます)。 これらの機能では、セクタートレーラーの内容(アクセス権セットに応じて読み取り可能な部分)を読み取ることもできます。

ミフェアSDK - MIFAREカードタグのためのSDKとuFR高度なソフトウェア 3

  • aucData – 読み取ったデータが格納されるバイト数へのポインタ。 関数を呼び出す前に、少なくとも 16 バイトを割り当てる必要があります。
  • ucBlockAddress – ucAuthMode ブロック アドレス。 このパラメーターは、認証 A キーと B キーのどちらを実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
  • ucSectorTrailersByte9 – すべてのセクタートレーラーのアクセス許可を定義するアクセスビット値。 0 から 7 までの値を指定できます。
  • aucProvideKey – "提供されたキー" メソッドで認証を証明するためのキーを含む 6 番目のバイト配列へのポインター。 _PK 関数名のサフィックスは、このメソッドの使用方法を示します。

これらの関数は、BlockRead グループ関数と同じように機能し、ブロック コンテンツの読み取り用に作成されています。 唯一の違いは、セクター別アドレス指定が使用されることです。 これには、セクターアドレスとセクター内のブロックアドレスを個別に送信することが含まれます。 MIFARE® 1Kセクターアドレスは0〜15の範囲で、ブロックアドレスは0〜3の範囲のセクター内にあります。 MIFARE® 4kセクターアドレスは0〜39の範囲にあり、アドレス空間編成の後半が異なる(2 MB以上)ため、最後の8セクター(セクター32〜39)のブロックアドレスは0〜15の範囲にある可能性があります。 ブロック全体 (16 バイト・ブロック) が常に読み取られます。

 

これらの関数は、セクタートレーラーの内容(アクセス権セットに応じて読み取り可能な部分)を読み取ることができます。

  • aucData – 読み取ったデータが格納されるバイト配列へのポインタ。 関数を呼び出す前に、少なくとも 16 バイトを割り当てる必要があります。
  • ucセクターアドレス – セクターアドレス
  • ucBlockInSectorAddress – セクター内のブロックアドレス
  • ucAuthMode – このパラメーターは、A キーまたは B キーのどちらを使用して認証を実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
  • aucProvideKey – "提供されたキー" メソッドで真正性を証明するためのキーを含む 6 番目のバイト配列へのポインター。 _PK 関数名のサフィックスは、このメソッドが使用されていることを示します。

ブロック書き込み、BlockWrite_AKM1、BlockWrite_AKM2、BlockWrite_PK

これらの関数は、ブロックへのデータ入力 (一度に 16 バイト) に使用されます。 関数はいわゆるブロックアドレス指定を使用します(最初のブロックはアドレス0、最初のセクタートレーラーはアドレス3、次のセクタートレーラーは7など、最後のセクターのトレーラーでもある最後のMIFARE® 1Kブロックはアドレス63を持ちます)。 この関数グループでは、セクタートレーラーへの直接データ入力は許可されません。 これを行うには、特殊関数 SectorTrailerWrite および SectorTrailerWriteUnsafe を使用します。

ミフェアSDK - マイフェアカードタグのためのSDKとuFR高度なソフトウェア 4

  • aucData – 読み取ったデータが格納されるバイト数へのポインタ。 関数を呼び出す前に少なくとも 16 バイトを割り当てる必要があります
  • ucブロックアドレス – カードブロックアドレス
  • ucAuthMode – このパラメータは、キー A またはキー B のどちらで認証を実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、これは読み取られるすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドで認証を証明するためのキーを含む 6 番目のバイト配列へのポインター。 _PK 関数名のサフィックスは、このメソッドの使用方法を示します。
 

FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER。

BlockInSectorWrite, BlockInSectorWrite_AKM1, BlockInSectorWrite_AKM2, BlockInSectorWrite_PK

これらの関数は、ブロック書き込みグループ関数と同じように機能します。これらは、ブロックへのデータ入力 (一度に 16 バイト) に使用されます。 唯一の違いは、セクターアドレス指定の使用です。 セクターアドレス指定とは、セクター内の送信セクターアドレスとブロックアドレスを分離することを意味します。 MIFARE® 1Kセクターアドレスは0〜15の範囲で、ブロックアドレスは0〜3の範囲のセクター内にあります。 MIFARE® 4kセクターアドレスは0〜39の範囲にあり、アドレス空間編成の後半が異なる(2 MB以上)ため、最後の8セクター(セクター32〜39)のブロックアドレスは0〜15の範囲にある可能性があります。 この関数グループでは、セクタートレーラーへの直接データ入力は許可されません。 これを行うには、特殊関数 SectorTrailerWrite および SectorTrailerWriteUnsafe を使用します。ミフェアSDK - MIFAREカードタグのためのSDKとuFR高度なソフトウェア 5

  • aucData – 読み取ったデータが格納されるバイト数へのポインタ。 関数を呼び出す前に少なくとも 16 バイトを割り当てる必要があります
  • ucセクターアドレス – セクターアドレス
  • ucBlockInSectorAddress – このパラメーターは、A キーまたは B キーのどちらを使用して認証を実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
  • aucProvideKey – "提供されたキー" メソッドで認証を証明するためのキーを含む 6 番目のバイト配列へのポインター。 _PK 関数名のサフィックスは、このメソッドの使用方法を示します。
 

FORBIDEN_DIRECT_WRITE_IN_SECTOR_TRAILER。

セクタートレーラー書き込み、SectorTrailerWrite_AKM1、SectorTrailerWrite_AKM2、SectorTrailerWrite_PK

これらの関数は、セクタートレーラーでのデータ書き込みに使用されます。 関数は、セクタートレーラーブロックアドレス指定や、ucAddressingModeパラメーターによって決定されるセクターアドレス指定にも使用できます。 ミフェアSDK - ミフェアカードタグのためのSDKとuFR高度なソフトウェア 6ブロックアドレス指定の場合、最初のブロックのアドレスは0です。トレーラーには、最初のセクターアドレス3と次のセクターアドレス7などがあります。最後のセクターのトレーラーでもあり、アドレス1を持つMIFARE® 63kの最後のブロックまで。 この関数のグループは、ブロックアクセス権設定(アクセスビット)のビット操作を簡素化し、これらのビットの誤ったフォーマットによるセクター全体の永続的なブロックの可能性を最小限に抑えます。 アクセスビットのフォーマットは、書き込み前にRFIDリーダーによって行われます。 APIユーザーは、値0〜7で表される適切なブロックアクセス権を選択し、それらをこれらの関数に送信できます。

 

セクタートレーラーの場合、次のアクセス権が有効です。ミフェアSDK - MIFAREカードのためのSDKとuFR高度なソフトウェア タグ 7

  • アクセスビット C1 C2 C3
  • アクセス値 (関数に送信)
  • アクセス権
  • アクセス ビットを含むキー A バイトと 9 バイトのキー B
  • 読み書き
 

セクタートレーラーの場合、次のアクセス権が有効です。

※該当するセクタのセクタトレーラーのアクセス権がBキーの読み取り可能に設定されている場合、いずれの場合も認証に利用できません。 これらの関数は、アクセス権が許可されている場合、新しいセクターキーも設定します。

  • アクセスビット C1 C2 C3ミフェアSDK - MIFAREカードのためのSDKとuFR高度なソフトウェア タグ 8
  • アクセス値 (関数に送信)
  • アクセス権
  • 読み取り、書き込み、インクリメント、デクリメント
 
  • ucアドレスモード – アドレスモードを指定します。 このパラメーターに指定できる値は、BLOCK_ADDRESS_MODE (0x00) または SECTOR_ADDRESS_MODE (0x01) です。 他の値が送信された場合、関数はエラーコードを返しますWRONG_ADDRESS_MODE
  • ucAddress – セクターまたはセクター トレーラーは、ucAddressingMode に応じてアドレスをブロックします。 セクターアドレスモードを使用する場合、たとえばMIFAREクラシック® 1Kの場合、範囲は0〜15(16セクター)にすることができます。 ブロック・アドレッシング・モードの同じタイプは、アドレス指定されたブロックがセクター・トレーラでもない場合にエラーが発生するという条件で、0 から 63 までの値を使用できます。
  • aucNewKeyA – 以前にアクセス権で許可されていた場合に設定される、指定されたセクターの新しいAキーを表す6バイト配列へのポインタ
  • aucNewKeyB – 指定されたセクタの新しいBキーを表す6バイト配列へのポインタで、以前にアクセス権で許可されていた場合に設定されます。
  • ucBlock0アクセスビット – セクターの 0 ブロックのアクセス値。

MIFARE® 4kは、アドレス空間の後半である最後の8つのセクターに対して異なる組織を持っています。 したがって、これらのセクターでは、アクセス権は次のように設定されます。

  • 最初の 5 つのブロックへのアクセス権 – ucBlock1AccessBits 最初のセクターのアクセス値ブロック
  • 2 番目の 5 つのブロックへのアクセス権 – ucBlock2AccessBits 最初のセクターのアクセス値ブロック
  • 最後の5つのブロックへのアクセス権:
    • ucSectorTrailerAccessBits – セクタートレーラーのアクセス値
    • ucSectorTrailerByte9 – 9 番目のセクター トレーラー バイトは、任意の 1 バイト値を入力できる汎用バイトです。
    • ucAuthMode – このパラメータは、キー A またはキー B のどちらで認証を実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
    • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
    • aucProvideKey – "提供されたキー" メソッドで認証を証明するためのキーを含む 6 番目のバイト配列へのポインター。 _PK 関数名のサフィックスは、このメソッドの使用方法を示します。

SectorTrailerWriteUnsafe, SectorTrailerWriteUnsafe_AKM1, SectorTrailerWriteUnsafe_AKM2, SectorTrailerWriteUnsafe_PK

これらの関数は、SectorTrailerWrite グループの関数と同じ目的を持っていますが、「生の」セクタートレーラーコンテンツを送信する点と、入力用のアクセスビット値をフォーマットするときにエラーが発生する可能性があります。 これらの関数は、MIFARE®の使用経験のある開発者を対象としています。 SectorTrailerWrite グループ関数について説明したすべてのルールは、セクタートレーラーエントリの「生」データのオプションを除き、これらの関数に適用されます。

  • ucアドレスモード – アドレスモードを指定します。 このパラメーターに指定できる値は、BLOCK_ADDRESS_MODE (0x00) または SECTOR_ADDRESS_MODE (0x01) です。 他の値が送信された場合、関数はエラー コード WRONG_ADDRESS_MODE を返します。
  • ucAddress – セクターまたはセクター トレーラーは、ucAddressingMode に応じてアドレスをブロックします。

セクターアドレスモードを使用する場合、MIFARE® 1Kの場合、範囲は0〜15(16セクター)であり、ブロックアドレス指定モードの同じタイプは0〜63の値を使用できますアドレス指定されたブロックがセクタートレーラーでない場合はエラーが発生する可能性があります。

  • aucSectorTrailer – アドレスセクタトレーラーエントリの「生の」データを含む6バイト配列へのポインタ
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
  • aucProvideKey – "提供されたキー" メソッドで認証を証明するためのキーを含む 6 番目のバイト配列へのポインター。 _PK 関数名のサフィックスは、このメソッドの使用方法を示します。

値ブロックを操作するための関数

値ブロックは、オプションの MIFARE® 機能を表します。 これは実際には、データのブロック全体 (16 バイト) が 1 つの 4 バイト値を表すモードです。 このモードでは、任意のデータブロックを追加できます(もちろん、ブロック0、ゼロセクター、セクタートレーラーを除く)。 値ブロックの値は特別な方法でフォーマット設定されており、値レコードに加えて 1 バイトのアドレス値が含まれているため、ユーザーはバックアップ システムを実装することができます。

D-Logic RFIDリーダは、適切な値ブロックのフォーマットを処理するため、4バイト値のみを処理する一連の機能をユーザーが利用できます。 値ブロックの使用は、目的のブロックへのアクセス権が値1、6、または0(新しいカードのデフォルト)に設定され、値が増減できる場合に意味があることに言及する必要があります。 まず、値ブロックを開始し、値と関連するアドレスが 16 バイト レコードの適切な形式に準拠している必要があります。 値ブロックを初期化するための最良かつ最も簡単な方法は、一連の Windows API 関数 IS21 ValueBlockWrite または ValueBlockInSectorWrite を使用することです。

ValueBlockRead, ValueBlockRead_AKM1, ValueBlockRead_AKM2, ValueBlockRead_PK

これらの関数は、ValueBlockRead グループ関数と同じことを行い、値ブロックの 4 バイト値の読み取りに適しています。 さらに、値ブロックに格納されている関連付けられたアドレスを返します。 唯一の違いは、いわゆるセクター別アドレス指定の使用です。 セクターアドレス指定とは、セクター内でセクターアドレスとブロックアドレスを別々に送信することを意味します。 MIFARE® 1Kセクターアドレスは0〜15の範囲で、ブロックアドレスは0〜3の範囲のセクター内にあります。 MIFARE® 4kセクターアドレスは0〜39の範囲にあり、アドレス空間編成の後半が異なる(2 MB以上)ため、最後の8セクター(セクター32〜39)のブロックアドレスは0〜15の範囲にある可能性があります。

ミフェアSDK - MIFAREカードタグのためのSDKとuFR高度なソフトウェア 9

  • lValue – 値ブロックが返す long 型の変数へのポインター
  • ucValueAddr – 9 番目のセクター トレーラー バイトは、任意の 1 バイト値を入力できる汎用バイトです。
  • ucセクターアドレス – セクターアドレス
  • ucBlockインセクターアドレス – セクター内のブロックアドレス
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – e デフォルトの認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択されたキーインデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、書き込みのすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドの認証用のキーを含む 6 バイトの配列へのポインター。 関数名のサフィックス_PK、このメソッドの使用を示します。
 

ValueBlockInSectorRead, ValueBlockInSectorRead_AKM1, ValueBlockInSectorRead_AKM2, ValueBlockInSectorRead_PK

これらの関数は、ValueBlockRead グループ関数と同じことを行い、値ブロックの 4 バイト値の読み取りに適しています。 さらに、値ブロックに格納されている関連付けられたアドレスを返します。 唯一の違いは、いわゆるセクター別アドレス指定の使用です。 セクターアドレス指定とは、セクター内でセクターアドレスとブロックアドレスを別々に送信することを意味します。 MIFARE® 1Kセクターアドレスは0〜15の範囲で、ブロックアドレスは0〜3の範囲のセクター内にあります。 MIFARE® 4kセクターアドレスは0〜39の範囲にあり、アドレス空間編成の後半が異なる(2 MB以上)ため、最後の8セクター(セクター32〜39)のブロックアドレスは0〜15の範囲にある可能性があります。

ミフェアSDK - MIFAREカードタグのためのSDKとuFR高度なソフトウェア 13

  • lValue – 値ブロックが返す long 型の変数へのポインター
  • ucValueAddr – 符号なしchar型の変数へのポインタは、バックアップシステムの実装のための追加機能を与える1バイトアドレスを介して返されます
  • ucセクターアドレス – セクターアドレス
  • ucBlockインセクターアドレス – セクター内のブロックアドレス
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、書き込みのすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドの認証用のキーを含む 6 バイトの配列へのポインター。 関数名のサフィックス_PK、このメソッドの使用を示します。
 
 

ValueBlockWrite, ValueBlockWrite_AKM1, ValueBlockWrite_AKM2, ValueBlockWrite_PK

これらの関数は、4 番目のバイト値ブロック値を初期化して書き込み、関連するアドレスを値ブロックに格納するために使用されます。 いわゆるブロックアドレス指定を使用する関数(最初のブロックはアドレス0、トレーラーは最初のセクターアドレス3、次の7など、最後のセクターのトレーラーでアドレス63を持つMIFARE® 1kの最後のブロックまで)。MIFAREのSDK - MIFAREカードのためのSDKとuFRの高度なソフトウェア タグ 14

  • lValue – 値ブロックエントリの値
  • ucValueAddr – 値ブロックに関連付けられたアドレス
  • ucBlockAddress – ブロックアドレス
  • ucAuthMode – このパラメーターは、A キーまたは B キーのどちらを使用して認証を実行するかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニア・アドレス・モードでは、これは書き込まれるすべてのセクターに適用されます。
  • aucProvideKey – "提供されたキー" メソッドで認証を証明するためのキーを含む 6 番目のバイト配列へのポインター。 _PK 関数名のサフィックスは、このメソッドの使用方法を示します。
 
 

ValueBlockInSectorWrite, ValueBlockInSectorWrite_AKM1, ValueBlockInSectorWrite_AKM2, ValueBlockInSectorWrite_PK

これらの関数は、ValueBlockWrite グループ関数に似ています。 エントリに使用し、値は4バイトの値の初期化をブロックします。 さらに、関連付けられたアドレスをブロック値に格納します。 唯一の違いは、セクター別のアドレス指定の使用法です。 セクターアドレス指定とは、セクター内でセクターアドレスとブロックアドレスを別々に送信することを意味します。 MIFARE® 1Kセクターアドレスは0〜15の範囲で、ブロックアドレスは0〜3の範囲のセクター内にあります。 MIFARE® 4kセクターアドレスは0〜39の範囲にあり、アドレス空間編成の後半が異なる(2 MB以上)ため、最後の8セクター(セクター32〜39)のブロックアドレスは0〜15の範囲にある可能性があります。ミフェアSDK - MIFAREカード用のSDKを備えたuFRアドバンストソフトウェア タグ 15

  • lValue – 値ブロックエントリの値
  • ucValueAddr – 値ブロックに関連付けられたアドレス
  • ucセクターアドレス – セクターアドレス
  • ucBlockインセクターアドレス – セクターのブロックアドレス
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、書き込みのすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドの認証用のキーを含む 6 バイトの配列へのポインター。 関数名のサフィックス_PK、このメソッドの使用を示します。
 
 

ValueBlockIncrement, ValueBlockIncrement_AKM1, ValueBlockIncrement_AKM2, ValueBlockIncrement_PK

この機能セットは、値を 4 バイトの値ブロックにインクリメントするために使用されます。 値ブロック増分の値は、これらの関数のパラメーターとして送信されます。 関数はブロックアドレス指定を使用します(最初のブロックはアドレス0、最初のセクタートレーラーはアドレス3、次のセクタートレーラーは7など、最後のセクターのトレーラーでもある最後のMIFARE® 1Kブロックはアドレス63を持ちます)。MIFAREのSDK - MIFAREカードのためのSDKとuFRの高度なソフトウェア タグ 16

  • l増分値 – 値ブロック増分の値
  • ucBlockAddress – セクター内のブロックアドレス
  • ucセクターアドレス – セクターアドレス
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、書き込みのすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドの認証用のキーを含む 6 バイトの配列へのポインター。 関数名のサフィックス_PK、このメソッドの使用を示します。
 
 

ValueBlockInSectorIncrement, ValueBlockInSectorIncrement_AKM1, ValueBlockInSectorIncrement_AKM2, ValueBlockInSectorIncrement_PK

これらの関数は、ValueBlockIncrement グループ関数と同じ目的を持ち、値ブロックの 4 バイト値を読み取るために使用されます。 値ブロック増分の値は、これらの関数のパラメーターとして送信されます。 唯一の違いは、セクター別のアドレス指定の使用法です。 セクターアドレス指定とは、セクター内でセクターアドレスとブロックアドレスを別々に送信することを意味します。 MIFARE® 1Kセクターアドレスは0〜15の範囲で、ブロックアドレスは0〜3の範囲のセクター内にあります。 MIFARE® 4kセクターアドレスは0〜39の範囲にあり、アドレス空間編成の後半が異なる(2 MB以上)ため、最後の8セクター(セクター32〜39)のブロックアドレスは0〜15の範囲にある可能性があります。ミフェアSDK - MIFAREカード用のSDKを備えたuFRアドバンストソフトウェア タグ 17

  • l増分値 – 値ブロック増分の値
  • ucセクターアドレス – セクターアドレス
  • ucBlockInSectorAddress – セクター内のブロックアドレス
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、書き込みのすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドの認証用のキーを含む 6 バイトの配列へのポインター。 関数名のサフィックス_PK、このメソッドの使用を示します。
 
 

ValueBlockDecrement, ValueBlockDecrement_AKM1, ValueBlockDecrement_AKM2, ValueBlockDecrement_PK

この関数セットは、値ブロックの 4 バイト値をデクリメントするために使用されます。 値ブロックのデクリメントの値は、これらの関数のパラメーターとして送信されます。 関数はブロックアドレス指定を使用します(最初のブロックはアドレス0、最初のセクタートレーラーはアドレス3、次のセクタートレーラーは7など、最後のセクターのトレーラーでもある最後のMIFARE® 1Kブロックはアドレス63を持ちます)。ミフェアSDK - uFR MIFAREカードタグのためのSDKと高度なソフトウェア 18

  • lデクリメント値 – 値ブロックデクリメントの値
  • ucBlockアドレス – セクター内のブロックアドレス
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択されたキー インデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、書き込みのすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドの認証用のキーを含む 6 バイトの配列へのポインター。 関数名のサフィックス_PK、このメソッドの使用を示します。
 
 

ValueBlockInSectorDecrement, ValueBlockInSectorDecrement_AKM1, ValueBlockInSectorDecrement_AKM2, ValueBlockInSectorDecrement_PK

これらの関数は、ValueBlockDecrement グループ関数と同じように機能し、値ブロックの 4 バイト値デクリメントに対して作成されます。 値ブロックのデクリメントの値は、これらの関数にパラメーターとして送信されます。 唯一の違いは、セクター別のアドレス指定の使用法です。 これには、セクターアドレスとセクター内のブロックアドレスを個別に送信することが含まれます。 MIFARE® 1Kセクターアドレスは0〜15の範囲で、ブロックアドレスは0〜3の範囲のセクター内にあります。 MIFARE® 4kセクターアドレスは0〜39の範囲にあり、アドレス空間編成の後半が異なる(2 MBを超える)ため、最後の8セクター(セクター32〜39)のブロックアドレスは0〜15の範囲にある可能性がありますミフェアSDK - uFR MIFAREカード用SDKを備えた高度なソフトウェア タグ 19

  • lデクリメント値 – 値ブロックデクリメントの値
  • ucセクターアドレス – セクターアドレス
  • ucBlockInSectorAddress – セクター内のブロックアドレス
  • ucAuthMode – このパラメータは、認証キー A またはキー B を実行するかどうかを定義します。 AUTHENT1A (0x60) または AUTHENT1B (0x61) の 2 つの値を持つことができます。
  • ucReaderKeyIndex – 既定の認証方法 (サフィックスのない関数が使用されている場合) は、RFID リーダーから選択したキー インデックスを使用して信頼性の証明を実行します。 リニアアドレスモードでは、書き込みのすべてのセクターに適用されます
  • aucProvideKey – "提供されたキー" メソッドの認証用のキーを含む 6 バイトの配列へのポインター。 関数名のサフィックス_PK、このメソッドの使用を示します。