2012-02-25 148 views
0

我想从mifare classic中读取扇区8,前提是我已经有钥匙。从mifare classic中读取特定扇区

从技术文档hereauthenticateSectorWithKeyA (int sectorIndex, byte[] key)

认证尝试失败会导致一个隐含的重新连接到 标记,因此验证到其他部门都将丢失。

这听起来像我必须认证所有部门?我是否可能仅通过8部门进行认证并仅从该部门获取数据?

回答

0

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

+0

那么,我在阅读之前先对该部门进行验证?你能告诉我阅读一个部门的过程吗?我的程序如何知道它已被认证并允许读取一个扇区? API自动执行它? – 2012-02-26 09:16:38

+0

我认为NFC家伙反应是正确的,他解释说,这非常好。 – 2012-02-27 08:42:26

1

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

当这种成功,您可以使用readBlock()读取数据(为方便起见,你可以使用sectorToBlock()从板块指数转换成块索引)

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

1

你应该给读者新的连接,然后选择卡的标签SN,登录高于行业0其他部门,如果程序得到的返回码0 /成功,那么你就可以读块/写数据(16个字节/块)。否则它拒绝R/W操作,你需要重新开始。