Android 如何保护包含NDEF消息的Mifare Classic标记?
使用Android很容易保护Mifare Ultralight,有Android 如何保护包含NDEF消息的Mifare Classic标记?,android,nfc,Android,Nfc,使用Android很容易保护Mifare Ultralight,有Ndef.makeReadonly()方法。但是Mifare Classic标记返回Ndef.canMakeReadonly()==false,因此这是不可能的。我听说可以将这样的标签设置为只读,或者至少通过设置a或b键来保护它 MifareClassic技术中有这样一种方法:authenticateSectorWithKeyB(int-sectorIndex,byte[]key) 有人知道这是否可用于使mifare classi
Ndef.makeReadonly()
方法。但是Mifare Classic标记返回Ndef.canMakeReadonly()==false
,因此这是不可能的。我听说可以将这样的标签设置为只读,或者至少通过设置a或b键来保护它
MifareClassic技术中有这样一种方法:authenticateSectorWithKeyB(int-sectorIndex,byte[]key)
有人知道这是否可用于使mifare classic标记上的ndef消息只读吗?或者,我如何才能将ndef消息写入标记,然后以某种方式锁定它以防止新写入?可以使用身份验证方法 首先,以下是Mifare Classic 4k的数据表: 本课程的重要章节包括:
- 3.6内存组织
- 3.6.3扇形拖车
{(字节)0xD3,(字节)0xF7,(字节)0xD3,(字节)0xF7,(字节)0xD3,(字节)0xF7} 所有其他部门 重要提示:您必须将原始KeyA密钥写回卡中。如果这些密钥与上面显示的密钥不同,卡将不再符合Ndef 对于修改后的访问位,您有两种选择:
背景:Android将仅使用上面显示的KeyA值对Ndef格式的标签进行身份验证。Ndef检测代码从不单独尝试KeyB,因此您可以出于自己的目的使用KeyB。可以使用身份验证方法 首先,以下是Mifare Classic 4k的数据表: 本课程的重要章节包括:
- 3.6内存组织
- 3.6.3扇形拖车
{(字节)0xD3,(字节)0xF7,(字节)0xD3,(字节)0xF7,(字节)0xD3,(字节)0xF7} 所有其他部门 重要提示:您必须将原始KeyA密钥写回卡中。如果这些密钥与上面显示的密钥不同,卡将不再符合Ndef 对于修改后的访问位,您有两种选择:
背景:Android将仅使用上面显示的KeyA值对Ndef格式的标签进行身份验证。Ndef检测代码从不单独尝试KeyB,因此您可以出于自己的目的使用KeyB。谢谢您的回复。虽然这可能确实有效,但我发现它确实很复杂。有人知道Mifare标签将来是否也会支持使用makeReadOnly()的密码保护标签吗(例如,未来的Android版本?),或者有人知道有哪些库可以做到这一点吗?答案很好,ndef数据可以通过正常的ndef读写从多个受保护的块写入和读取吗?Ndef.writeNdefMessage写入并使用getNdefMessage获取消息?谢谢您的回复。虽然这可能确实有效,但我发现它确实很复杂。有人知道Mifare标签将来是否也会支持使用makeReadOnly()的密码保护标签吗(例如,未来的Android版本?),或者有人知道有哪些库可以做到这一点吗?答案很好,ndef数据可以通过正常的ndef读写从多个受保护的块写入和读取吗?Ndef.writeNdefMessage写入并使用getNdefMessage获取消息?