【问题标题】:How to read and write ndef from protected blocks in Mifare Class 1k (MF1S50)?如何从 Mifare Class 1k (MF1S50) 中的受保护块中读取和写入 ndef?
【发布时间】:2013-01-30 18:26:34
【问题描述】:

目前我使用的是 MF1S50 卡,它遵循典型的 Mifare Classic 扇区和块结构等。

当没有任何块受到保护时,我能够读取和写入 ndef 消息。该消息似乎消耗了 356 个字节,这只是前几个块。

我正在使用Ndef.writeNdefMessage() 写作并使用Ndef.getNdefMessage() 阅读。

我是否可以用密码保护我正在使用的块并继续使用Ndef.getNdefMessage 读取和Ndef.writeNdefMessage 写入这些块?

(我的第一直觉说不,这是不可能的)。如果不是,一般程序是什么? 这就是它的工作方式吗?

连接->验证->读取->递增->读取->关闭。

我猜如果发生这种情况,

<action android:name="android.nfc.action.NDEF_DISCOVERED" />

不能用吧?

【问题讨论】:

    标签: android nfc mifare


    【解决方案1】:

    如果 NDEF 存储在 MIFARE Classic 卡上,用于读取扇区内容的密钥 A 是固定的,因此任何 NFC 设备都可以访问这些内容。但是,您可以更改密钥 B 并配置扇区,使密钥 A 只能用于读取消息而不能覆盖它。

    【讨论】:

    • 我知道必须使用密钥 B。但是我不能使用 ndef 类可以吗?另外,我无法在 onNewIntent 中处理它们,因为这意味着用户已经点击并离开了。如果我使用 MifareClassic 类,则连接功能将失败,因为标签不会在那里:/
    • 不确定“使用 ndef 类”是什么意思。在 MIFARE Classic 标签上存储 NDEF 消息需要使用特定的密钥 A。密钥 B 可以更改为您想要保护内容的任何内容。每当触发 NFC 意图时,您的应用程序都会在 onNewIntent()onCreate() 中收到它。这与标签是否存在无关。
    • 好吧,在意图数据通过后是否进行密钥认证?
    • 不,以前。否则无法访问标签内容。
    猜你喜欢
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多