nxp ntag426dna 密码认证示例指令
时间: 2023-06-13 09:03:57 浏览: 149
NXP NTAG 426 DNA是一种带有密码认证功能的NFC标签芯片。以下是NTAG 426 DNA密码认证示例指令:
1. 检查密码认证状态:发送命令0x30,接收字节序列[0x00, 0x00, 0x00, 0x00],其中第3个字节为0x01表示已启用密码认证,为0x00表示未启用。
2. 启用密码认证:发送命令0xA2,参数为[0x1B, 0x00, 0x00, 0x00],其中第1个字节为密码认证配置寄存器地址,第2-4个字节为配置值。配置值的第31位为1表示启用密码认证。
3. 设置密码:发送命令0xA2,参数为[0x1C, 0x00, 0x00, 0x00],其中第1个字节为密码地址,第2-4个字节为密码值。
4. 验证密码:发送命令0x1B,参数为[0x00, 0x00, 0x00, 0x00],其中第2-4个字节为密码值。如果密码正确,返回字节序列[0x00, 0x00, 0x00, 0x00],否则返回[0xAF, 0x00, 0x00, 0x00]。
5. 禁用密码认证:发送命令0xA2,参数为[0x1B, 0x00, 0x00, 0x00],其中配置值的第31位为0表示禁用密码认证。
相关问题
nxp ntag426dna 密码认证示例
NTAG 426 DNA 是一种高度安全的 NFC 标签,具有许多安全功能。其中之一是密码认证,可以用于保护标签中存储的数据免受未经授权的访问。
以下是一个基本的示例,演示如何使用 NXP NTAG 426 DNA 标签的密码认证功能:
1. 首先,您需要设置标签的密码。您可以使用 NXP TagWriter 应用程序或任何其他 NFC 标签编程工具来执行此操作。在设置密码时,您需要选择一个 32 位长的密码,并将其写入标签的密码区域。
2. 然后,在进行任何读取或写入标签的操作之前,您需要通过发送一个密码认证命令来验证密码。密码认证命令由 4 个字节组成,格式如下:
Byte 1:固定值为 0x1B
Byte 2:固定值为 0x00
Byte 3:固定值为 0x00
Byte 4:您设置的密码
3. 发送密码认证命令后,标签会验证密码。如果密码正确,则标签将返回一条 ACK(确认)响应。如果密码不正确,则标签将返回一条 NAK(否定)响应,并且后续的读写操作将被拒绝。
下面是一个示例代码片段,演示如何使用 Python 和 NFC 库来执行密码认证操作:
```
import nfc
# 选择并连接到标签
clf = nfc.ContactlessFrontend('usb')
tag = clf.connect(rdwr={'on-connect': lambda tag: False})
# 发送密码认证命令
cmd = bytearray([0x1B, 0x00, 0x00, 0x12, 0x34, 0x56, 0x78])
resp = tag.transceive(cmd)
# 检查响应
if resp == bytearray([0x00]):
print("密码认证成功!")
else:
print("密码认证失败。")
```
在此示例中,我们使用 USB NFC 读卡器连接到标签,并发送一个密码认证命令,其中密码为 0x12345678。标签将返回一个单字节的 0x00 响应,表示密码认证成功。
nxp ntag424dna 密码认证示例指令
下面是 NXP NTAG424DNA 标签密码认证示例指令:
第一步,选择密码认证页面
```APDU
00 A4 04 00 07 D2 76 00 00 85 01 00
```
第二步,发送密码认证指令
```APDU
00 20 00 01 04 11 22 33 44
```
其中,`04` 是密码类型,`11 22 33 44` 是密码值。
第三步,校验认证结果
```APDU
00 84 00 00 08
```
如果认证成功,返回值是 `90 00`,否则返回错误码。
阅读全文