我是Arduino的新手。我正在尝试将 ID 写入我的 NFC 卡。我使用了示例中的 PN532 库和代码。我不能比身份验证块()
更进一步。还有哪个块正在尝试进行身份验证?我在输出中看不到它。
输出:
代码是:
// This example writes a MIFARE memory block 0x08. It is tested with a new MIFARE 1K cards. Uses default keys.
// Note: Memory block 0 is readonly and contains manufacturer data. Do not write to Sector Trailer block
// unless you know what you are doing. Otherwise, the MIFARE card may be unusable in the future.
//Contributed by Seeed Technology Inc (www.seeedstudio.com)
#include <PN532.h>
#include <SPI.h>
/*Chip select pin can be connected to D10 or D9 which is hareware optional*/
/*if you the version of NFC Shield from SeeedStudio is v2.0.*/
#define PN532_CS 10
PN532 nfc(PN532_CS);
uint8_t written = 0;
#define NFC_DEMO_DEBUG 1
void setup(void) {
#ifdef NFC_DEMO_DEBUG
Serial.begin(9600);
Serial.println("Hello!");
#endif
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
#ifdef NFC_DEMO_DEBUG
Serial.print("Didn't find PN53x board");
#endif
while (1); // halt
}
#ifdef NFC_DEMO_DEBUG
// Got ok data, print it out!
Serial.print("Found chip PN5");
Serial.println((versiondata >> 24) & 0xFF, HEX);
Serial.print("Firmware ver. ");
Serial.print((versiondata >> 16) & 0xFF, DEC);
Serial.print('.');
Serial.println((versiondata >> 8) & 0xFF, DEC);
Serial.print("Supports ");
Serial.println(versiondata & 0xFF, HEX);
#endif
// configure board to read RFID tags and cards
nfc.SAMConfig();
}
void loop(void) {
uint32_t id;
// look for MiFare type cards
id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);
if (id != 0) {
#ifdef NFC_DEMO_DEBUG
Serial.print("Read card #");
Serial.println(id);
Serial.println();
#endif
uint8_t keys[] = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
uint8_t writeBuffer[16];
for (uint8_t i = 0; i < 16; i ++) {
writeBuffer[i] = i; //Fill buffer with 0,1,2....F
}
if (nfc.authenticateBlock(1, id , 0x08, KEY_A, keys)) {
//authenticate block 0x08
//if authentication successful
if (written == 0) {
//Not written
written = nfc.writeMemoryBlock(1, 0x08, writeBuffer); // Write writeBuffer[] to block 0x08
if (written)
#ifdef NFC_DEMO_DEBUG
Serial.println("Write Successful");
#endif
}
uint8_t block[16];
//read memory block 0x08
if (nfc.readMemoryBlock(1, 0x08, block)) {
#ifdef NFC_DEMO_DEBUG
Serial.println("Read block 0x08:");
//if read operation is successful
for (uint8_t i = 0; i < 16; i++) {
//print memory block
Serial.print(block[i], HEX);
Serial.print(" ");
}
Serial.println();
#endif
}
}
}
delay(500);
}
SENS_RES(ATQA)=0x0044、SEL_RES(SAK)=0x00和UID=0x04B9C9BA204B80的组合表明您的标签是MIFARE Ultralight标签或NTAG标签。但是,您在问题中显示的代码是为访问MIFARE经典标签而设计的。
MIFARE Ultralight/NTAG 标签不支持 nfc.authenticateBlock()
执行的身份验证机制(特定于 MIFARE Classic)。因此,代码将在 nfc.authenticateBlock()
上失败。由于您的代码不支持该类型的身份验证(但可能支持其他机制),因此您可以尝试跳过身份验证步骤,仅使用读/写方法。对于您的标签类型,这些应该有效(有一些限制,请参阅使用 Adafruit PN532 库写入 RFID 标签内存时字节数组被截断)。
我们已经知道了米费特超轻C的认证过程,但是我们不能使用PN532芯片进行认证。我们按照命令集中显示的步骤进行认证,但是我们不能得到确切的结果。我们需要一些帮助来完成米费特超轻C的认证过程。请给出一些建议,或者任何在这张卡上工作的人都可以提供帮助。 解密RndB并旋转到RndB ': 生成 RndA 并构建 RndA ||RndB': 加密RndA||RndB': 现在我们必须使用AFh Mi的Ul
我正在尝试配置laravel的auth以适合我的db。但无论我做什么,都会覆盖像或在LoginController中,它忽略所有内容。有人知道如何用不同的数据库参数化laravel的身份吗? 以下是我在LoginController中更改的内容: 在用户模型中: 编辑:config/auth.php: ]; LoginController: 名称空间App\Http\Controllers\Aut
我正在使用SDN和嵌入式neo4j。我必须使用bean验证,但它不起作用。null正在数据库中保存,没有任何异常。 依赖是 实体类 控制器是 我使用的是sping-data-neo4j 3.2.0。发布
我的ldiff文件如下所示 用户密码在portal db中使用带有十六进制编码的MD5进行散列。还启用了pre-encoded-password为true,但没有帮助。 我的要求是我们有一个门户,其密码存储在MD5中的db中,使用十六进制编码,门户集成到ldap中,每次密码更改ldap都使用散列值更新,但上面的java程序根本不起作用。需要认真的帮助。 多谢了。
我使用下面的文章在我的laravel项目中创建JWT身份验证。但是现在我不能再使用Basic身份验证了。有没有办法使用基本身份验证?我需要它为我的网络界面。 https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps Route::get('auth/login','Auth\AuthC
我是使用数字签名的新手。在其中一个项目中,我们使用Apache PdfBox来处理数字签名的pdf文件。虽然我们可以测试所有功能,但签名pdf文件的验证是我们无法破解的。我们使用BouncyCastle作为提供程序。下面是代码: 从pdf文件获取数字签名和签名内容: 数字签名验证: 以下是p7b格式证书的相关摘录-我使用BouncyCastle作为安全提供程序: 使用上面的代码,我总是得到“fal