【问题标题】:Cannot authenticate a sector in mifare card with correct key in android无法在 android 中使用正确的密钥验证 mifare 卡中的扇区
【发布时间】:2019-09-23 12:42:01
【问题描述】:

我有一张 mifare 经典 1K 卡和自定义密钥。但无法使用它读/写。需要帮助来找出我的错误。

我已经使用 NXP Taginfo 和 Mifare Classic Tool 确定了用于读/写 mifare 卡的密钥。 它显示访问位为 FF078000,密钥 B 为 222222222222 现在我正在使用 Key B 从 mifare 经典 1K 卡中读取数据。下面是代码。

NXP Taginfo 工具输出为here

byte[] newkey = {(byte)0x00, (byte)0x33,(byte)0xBD,(byte)0x7A,(byte)0x03,(byte)0x8E};

boolean authB = taskTag.authenticateSectorWithKeyB(6, newkey);
Log.i("New Key"+ new BigInteger(newkey).toString(), "authB : " + authB) ;

但是 authB 返回 false。这里有什么问题?

非常感谢任何帮助。

编辑-1:

经过大量阅读,我认为我可能错误地解释了访问条件。我想我可能需要使用密钥 A 进行身份验证。但根据访问条件,密钥 A 不可读。我说的对吗?

编辑-2

nxp tag editinfo/Mifare Classic Tool怎么能读取key为222222222222的数据,但我不能?

【问题讨论】:

    标签: android nfc rfid mifare contactless-smartcard


    【解决方案1】:

    我认为问题出在钥匙上。我必须使用 222222222222 作为密钥而不是十六进制形式。因此将密钥更改为以下行解决了问题。

    newkey = {(byte)0x22, (byte)0x22,(byte)0x22,(byte)0x22,(byte)0x22,(byte)0x22};
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多