0

キーを既に持っていれば、mifare classic からセクター 8 を読みたいと思います。

ここのドキュメントからauthenticateSectorWithKeyA (int sectorIndex, byte[] key)

認証試行が失敗すると、タグへの暗黙的な再接続が発生するため、他のセクターへの認証は失われます。

すべてのセクターで認証する必要があるようですね。セクター 8 でのみ認証し、そのセクターからのみデータを取得することは可能ですか?

4

3 に答える 3

1

はい、最初にauthenticateSectorWithKeyA()を使用して認証します(キーAがある場合は、キーBでauthenticateSectorWithKeyB()を使用します)。これがfalseを返す場合、認証は失敗しています(キーが正しくありません)。

これが成功すると、readBlock()を使用してデータを読み取ることができます(便宜上、sectorToBlock()を使用してセクターインデックスからブロックインデックスに変換できます)

認証の失敗について心配する必要はありません。カードの動作には影響しません。

于 2012-02-26T21:43:51.450 に答える
1

リーダーに新しい接続を作成し、カード タグ SN を選択し、セクター 0 以外のセクターにログインし、プログラムがリターン コード 0/成功を取得した場合、ブロック (16 バイト/ブロック) ごとにデータを読み書きできます。そうしないと、R/W 操作が拒否され、最初からやり直す必要があります。

于 2012-08-16T20:28:10.753 に答える
0

いいえ、読み取り元のセクターを認証するだけで済みます。ただし、別のセクターを認証しようとして失敗した場合は、既に正常に接続されているセクターを再認証する必要があります。

于 2012-02-25T19:36:01.270 に答える