Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从Mifare Class 1k(MF1S50)中的受保护块读取和写入ndef?_Android_Nfc_Mifare - Fatal编程技术网

Android 如何从Mifare Class 1k(MF1S50)中的受保护块读取和写入ndef?

Android 如何从Mifare Class 1k(MF1S50)中的受保护块读取和写入ndef?,android,nfc,mifare,Android,Nfc,Mifare,目前我使用的是MF1S50卡,它遵循典型的Mifare经典结构,包括扇区和块等 当没有任何块受到保护时,我能够读写ndef消息。消息似乎消耗了356字节,这只是前几个块 我使用Ndef.writeNdefMessage()编写,使用Ndef.getNdefMessage()阅读 我是否可以对正在使用的块进行密码保护,并继续使用Ndef.getNdefMessage读取和Ndef.writeNdefMessage写入这些块 (我的第一反应是不可能)。如果没有,一般程序是什么? 这就是它的工作原理吗

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

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

我使用
Ndef.writeNdefMessage()
编写,使用
Ndef.getNdefMessage()
阅读

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

(我的第一反应是不可能)。如果没有,一般程序是什么? 这就是它的工作原理吗

连接->验证->读取->增量->读取->关闭

我猜如果发生这种情况


无法正确使用?

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

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

我知道必须使用密钥B。但是我不能使用ndef类,可以吗?此外,我不能在onNewIntent中处理它们,因为这意味着用户已经点击并离开了。如果我使用MifareClassic类,那么连接功能将失败,因为标记不在那里:/n不确定“使用ndef类”是什么意思。在MIFARE Classic标记上存储NDEF消息需要使用特定的密钥a。密钥B可以更改为您想要保护内容的任何内容。无论何时触发NFC意图,都会在应用程序中的
onNewIntent()
onCreate()
中接收到。这与标记是否存在无关。那么,在传递意图数据之后是否会进行密钥身份验证?不,在传递之前。否则标签内容将无法访问。我知道必须使用键B。但是我不能使用ndef类,可以吗?此外,我不能在onNewIntent中处理它们,因为这意味着用户已经点击并离开了。如果我使用MifareClassic类,那么连接功能将失败,因为标记不在那里:/n不确定“使用ndef类”是什么意思。在MIFARE Classic标记上存储NDEF消息需要使用特定的密钥a。密钥B可以更改为您想要保护内容的任何内容。无论何时触发NFC意图,都会在应用程序中的
onNewIntent()
onCreate()
中接收到。这与标记是否存在无关。那么,在传递意图数据之后是否会进行密钥身份验证?不,在传递之前。否则,无法访问标记内容。