我有不同的标签:阅读NFCA MifareClassic NFC标签
- 亚马逊标签:NFCA http://www.amazon.de/gp/product/B00AESJ3B0/ref=oh_details_o00_s00_i00
- 我的钥匙:NFCA
- 一些广告标签:NFCA,NDEF,MifareUltraLight
我想读出我的密钥。 UID是20 66 be 52
,在ATQA是00 40
的SAK是00 08
(ATQA和SAK是一样的,从亚马逊的关键,所以我想这也是MIFARE经典1KB)
每当我试着transceive(byte[])
我赶上TagLostException
。滑稽的事实:广告标签效果更好,但仍然抛出IOException: Transceive failed
试图标签(我的钥匙)解析到IsoDep
或MifareClassic
抛出一个Nullpointer
。只有NfcA
有效,但我无法从标签读取任何数据。
有人可以提供我的有效命令或任何其他方式来读取Android的内容。
MifareClassic mfc = MifareClassic.get(tagFromIntent);
mfc.connect(); //Nullpointer
编辑:。好像这个问题可能是我的Nexus 4(主要是买给NFC东西:()好像不支持MIFARE经典标签,但如果仍然有想法写下来
没错。它不支持它并不是因为它不符合NFC论坛,而是因为它使用了Broadcom和Google不想许可的专有加密算法(Crypto 1)。在使用恩智浦NFC控制器(Nexus S,Galaxy Nexus等)的设备上,您可以免费获得该设备,因为硬件支持它。通常,您需要检查结果'SomeNfcTech.get()'为null,因为并不是所有的都被支持。 –
此外,Crypto 1算法已完全破解,对于新项目使用Classic没有任何借口。 –
我不会支付完全损坏的crypo的许可费用。 Mifare Classic消失对于NFC技术来说是件好事。 –