阅读mifare classic中的特定部门

时间:2012-02-25 04:33:45

标签: android nfc mifare

我想阅读mifare classic中的第8部分,前提是我已经有了密钥。

来自authenticateSectorWithKeyA (int sectorIndex, byte[] key)

上的文档here
  

验证尝试失败导致隐式重新连接   标记,因此对其他扇区的身份验证将丢失。

听起来我必须对所有部门进行身份验证?是否有可能我只对扇区8进行身份验证并仅从该扇区获取数据?

3 个答案:

答案 0 :(得分:1)

是的,首先使用authenticateSectorWithKeyA()进行身份验证(如果您有密钥A,否则使用密钥B使用authenticateSectorWithKeyB())。如果返回false,则验证失败(您的密钥不正确)。

如果成功,您可以使用readBlock()来读取数据(为方便起见,您可以使用sectorToBlock()将扇区索引转换为块索引)

不要担心验证失败:它不会影响卡的操作。

答案 1 :(得分:1)

你应该与读卡器建立新的连接,然后选择卡片标签SN,登录扇区0以外的扇区,如果程序得到返回码0 /成功,那么你可以按块读取/写入数据(16字节/块) 。否则它会拒绝R / W操作,你需要重新开始。

答案 2 :(得分:0)

不,您只需要验证您正在阅读的部门。但是,如果您尝试验证另一个扇区并失败,则必须重新验证已成功连接的扇区。