0

如果我已经有了钥匙,我想从 mifare classic 中读取第 8 扇区。

这里的文档authenticateSectorWithKeyA (int sectorIndex, byte[] key)

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

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

4

3 回答 3

1

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

于 2012-08-16T20:28:10.753 回答
1

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

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

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

于 2012-02-26T21:43:51.450 回答
0

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

于 2012-02-25T19:36:01.270 回答