2012-02-25 11 views
0

私は既にキーを持っていれば、mifare classicからセクター8を読みたいと思っています。 authenticateSectorWithKeyA (int sectorIndex, byte[] key)mifare classicから特定のセクターを読む

Aのドキュメントhereから

は、認証試行が タグへの暗黙的な再接続が発生しなかったので、他のセクターへの認証が失われます。

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

答えて

0

いいえ、読んでいるセクタを認証するだけです。しかし、別のセクタを認証して失敗すると、既に正常に接続しているセクタを再認証する必要があります。

+0

私はそれを読む前にまずそのセクターで認証しますか?セクターを読むプロセスを教えてください。私のプログラムはそれがすでに認証されていることをどのようにしてセクタを読み取ることができるのですか? APIは自動的にそれを行いますか? –

+0

私はNFCの人の反応が正しいと思います。彼はそれをとてもうまく説明します。 –

1

はい、まずauthenticateSectorWithKeyA()を使用して認証します(キーBの場合はauthenticateSectorWithKeyB()を使用します)。 falseが返された場合、認証は失敗しています(キーが間違っています)。

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

が失敗した認証を心配しないでください:それは操作には影響しませんあなたのカードの。

1

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

関連する問題