我正在开展一个项目,我需要将数据安全地写入DESFire卡。我能够格式化/个性化/验证和写入数据。但由于我使用的是Lite版本的SDK,我似乎无法写入超过256个字节。当我这样做时,我收到了这个错误:
com.nxp.nfclib.exceptions.SmartCardException: File length of 256 bytes is only supported in Lite Version.
我正在运行以下命令/方法:
mDESFire.getReader().close();
mDESFire.getReader().connect();
mDESFire.getReader().setTimeout(2000);
mDESFire.format(Constants.DESFIRE_MASTER_KEY);
mDESFire.getReader().setTimeout(2000);
mDESFire.personalize(Constants.DESFIRE_MASTER_KEY, Constants.PRIVATE_PROFILE_APP_ID, Constants.PRIVATE_PROFILE_APP_KEY);
mDESFire.getReader().setTimeout(2000);
mDESFire.write(myString.getBytes());
我假设我可以使用mDESFire.getReader().transceive()
方法实现此目的,但在这种情况下我是否需要自己进行加密/解密?我对NFC一般都是新手,所以我不确定下一步要采取什么措施。我尝试通过卡片datasheet,这让我更加迷失,不幸的是,在我的情况下,获得完整的/专业版SDK并不是一个真正的选择。