微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何阅读Nexus s的mifare classic 1k卡

如何解决我如何阅读Nexus s的mifare classic 1k卡

|| 正在使用NFC Android编程,我想阅读mifare Classic卡。有人知道如何从这种卡上读取扇区吗? 身份验证方法返回true,表示身份验证已完成。进行身份验证之后,扇区应该准备好执行任何IO操作,但是每当我使用readBlock()方法或transceive()方法时,都会收到IOException(\“ transceive Failed \”)异常。我找不到使用mifare Classic的任何示例,因此我想知道是否可以使用此API读取mifare Classic。 我的代码是这样的
boolean success = m1tag.authenticateSectorWithKeyB(0,mifareClassic。KEY_DEFAULT)
int index = m1tag.sectorToBlock(0)
byte[] content = m1tag.readBlock(index)
成功是正确的,但是当我从卡中读取内容时,抛出IOException(\“ transceive Failed \”)     

解决方法

使用
authenticateSectorWithKeyB()
后,您将无法再
readBlock()
writeBlock()
。 如果它是具有默认访问位的新标签,则将阻止对该标签的访问。如果访问条件已更改,则
readBlock()
writeBlock()
将引发异常。您将必须使用KeyA身份验证执行标签的读取。     ,您无法通过keyB进行身份验证来读取mifare卡的冻结。 要读取Mifare卡块,您必须使用钥匙A来进行点刺,即使用
authenticateSectorWithKeyA()
而不是
authenticateSectorWithKeyB()
。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。