我想阅读mifare classic中的第8部分,前提是我已经有了密钥。
来自authenticateSectorWithKeyA (int sectorIndex, byte[] key)
验证尝试失败导致隐式重新连接 标记,因此对其他扇区的身份验证将丢失。
听起来我必须对所有部门进行身份验证?是否有可能我只对扇区8进行身份验证并仅从该扇区获取数据?
答案 0 :(得分:1)
是的,首先使用authenticateSectorWithKeyA()进行身份验证(如果您有密钥A,否则使用密钥B使用authenticateSectorWithKeyB())。如果返回false,则验证失败(您的密钥不正确)。
如果成功,您可以使用readBlock()来读取数据(为方便起见,您可以使用sectorToBlock()将扇区索引转换为块索引)
不要担心验证失败:它不会影响卡的操作。
答案 1 :(得分:1)
你应该与读卡器建立新的连接,然后选择卡片标签SN,登录扇区0以外的扇区,如果程序得到返回码0 /成功,那么你可以按块读取/写入数据(16字节/块) 。否则它会拒绝R / W操作,你需要重新开始。
答案 2 :(得分:0)
不,您只需要验证您正在阅读的部门。但是,如果您尝试验证另一个扇区并失败,则必须重新验证已成功连接的扇区。