繁体   English   中英

Mifare Classic 1k写密钥

[英]Mifare Classic 1k write keys

我正在尝试制作一个Android应用程序来编写NFC标签。 为了查看如何执行此操作,我下载了一个示例。 但是,该示例不起作用。 它说它不能认证。 这只能表示它为这种类型的卡使用了错误的密钥。 奇怪的是,即使KEY_DEFAULTKEY_MIFARE_APPLICATION_DIRECTORY键也无法在我的空白卡上使用。 Mifare是否以任何方式更改了按键?

编辑:这是我的代码。

            /* Authenticate the MAD Sector, sector 1, with key A */
        succes = mClassic.authenticateSectorWithKeyA(
                1, key);
        if (succes) {
            /* Authentication succeeded */

            /*
             * This will read a 16-byte block in this sector
             * It is an I/O operation and will block until complete.
             * It must not be called from the main application thread.
             **/
            b.append(mClassic.readBlock(1), 0, 16);
            b.append(mClassic.readBlock(2), 0, 16);
            b.append(mClassic.readBlock(3), 0, 16);
            data = b.toByteArray();
        }
        /* Authentication failed */
        else
            sb.append("Authentication failed");
        mClassic.close();

    }

我已经尝试使用以下键:

MifareClassic.KEY_DEFAULT
MifareClassic.KEY_MIFARE_APPLICATION_DIRECTORY
00 00 00 00 00 00
ff ff ff ff ff ff

都无济于事..

我对Ubiqconn平板电脑不熟悉。 我要做的第一件事是检查设备中的NFC实现是否实际上支持MIFARE。 在您的主要活动的onCreate()添加:

public void onCreate(Bundle bundle) {
  ...
  if (!getPackageManager().hasSystemFeature("com.nxp.mifare")) {
    Toast.makeText(this, "No MIFARE support!", Toast.LENGTH_LONG).show();
  }
}

您的应用程序中有错误,或者密钥已被自定义。 使用类似NFC TagInfo的应用程序检查您是否可以使用默认密钥读取/写入卡。 如果不起作用,请与向您出售卡的人联系,并询问其钥匙是什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM