You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何手动写入字节为MIFARE Classic 1k标签编码NDEF?

给MIFARE Classic 1K标签手动写入NDEF数据的操作指南

一、基础规则说明

MIFARE Classic 1K本身不原生支持NDEF,需遵循NDEF映射规范实现手机识别:

  • 扇区0的Block0为厂商/UID信息,禁止修改
  • 从扇区1(Block4及以后)开始存储NDEF数据,需确保扇区访问权限允许手机读写
  • 必须写入NDEF的TLV(Tag-Length-Value)结构,手机NFC模块才能识别

二、具体操作步骤

1. 确认扇区访问权限

你的标签控制块(如Block7)当前内容为FF FF FF FF FF FF FF 07 80 69 FF FF FF FF FF FF,该权限允许KeyA读写数据块、KeyB只读控制块,完全满足手机读写需求,无需修改。

2. 构建NDEF TLV结构

NDEF数据需以TLV格式写入,结构为:

  • 首字节:0x03(NDEF消息TLV的标识)
  • 次字节:NDEF消息的长度(长度≤255时直接写单字节;更长则用双字节扩展)
  • 后续字节:NDEF消息的实际内容

3. 生成NDEF消息字节(以URL为例)

以写入URL https://example.com 为例,NDEF消息的十六进制字节为:
D1 01 0B 55 01 65 78 61 6D 70 6C 65 2E 63 6F 6D
各字节含义:

  • D1:TNF(类型名称格式)为通用已知类型,单条记录且不分块
  • 01:URL类型的长度为1
  • 0B:URL内容的长度(example.com共11个字符)
  • 55:标识为URL类型
  • 01:对应前缀https://的编码
  • 后续为example.com的ASCII字节

4. 分块写入标签

将TLV头与NDEF消息组合后分块写入:

  • Block4内容:03 0F D1 01 0B 55 01 65 78 61 6D 70 6C 65 2E 63(03是TLV标识,0F是NDEF消息长度15)
  • Block5内容:6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00(补全剩余字节为0)
  • 若NDEF消息更长,继续写入后续扇区的数据块,最后用FE作为TLV结束标记

5. 验证结果

写入完成后,用手机NFC功能靠近标签,即可识别出写入的NDEF内容。

三、关键注意事项

  • 禁止修改扇区0的Block0,否则标签可能报废
  • 修改控制块(Block3、7、11...)前务必确认权限,错误权限会导致扇区无法访问
  • 跨扇区存储NDEF数据时,不可占用扇区的控制块
  • 所有写入内容需为十六进制格式,确保字节顺序正确

内容的提问来源于stack exchange,提问作者Pope Francis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:20:26