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

如何向Mifare Classic 1K卡片写入可正常触发的有效URL

实现核心逻辑

Mifare Classic 1K无需依赖第三方APP即可触发手机打开浏览器的核心是写入标准NDEF(NFC数据交换格式)报文,只要手机开启NFC功能即可原生识别该格式。

URL转十六进制NDEF格式方法

以写入https://example.com为例,转换步骤如下:

  1. 固定NDEF起始标识:首字节为0x03,代表后续为NDEF消息
  2. 填写NDEF报文总长度:计算所有后续报文字节数,本例为15,对应0x0F
  3. 固定NDEF记录头:0xD1(代表单条短记录、Well-Known类型)
  4. 类型长度:固定为0x01
  5. 负载长度:计算规则为「URI前缀编码长度 + 实际URL去前缀后的长度」,本例https://对应前缀编码0x03,去前缀后内容为example.com共11字节,总负载长度为12,对应0x0C
  6. 类型标识:固定为0x55(ASCII码U,代表URI记录类型)
  7. URI前缀编码,常用编码对应关系:
    • 0x00:无前缀,需写入完整URL
    • 0x01:http://www.
    • 0x02:https://www.
    • 0x03:https://
    • 0x04:http://
  8. 写入URL去前缀后的ASCII转十六进制内容:example.com对应65 78 61 6D 70 6C 65 2E 63 6F 6D
  9. 结束标识:尾字节固定为0xFE,代表NDEF报文结束

最终本例完整的十六进制写入串为:03 0F D1 01 0C 55 03 65 78 61 6D 70 6C 65 2E 63 6F 6D FE

卡片存储位置规则
  • Mifare Classic 1K共16个扇区,每个扇区包含4个16字节的块,每个扇区的最后一个块为密钥/访问控制块,禁止写入业务数据
  • 扇区0为厂商信息块,绝对不要修改,写入错误会导致卡片永久失效
  • NDEF数据默认存储在扇区1的块4、块5、块6(三个数据块共48字节可用空间),默认访问密钥为A0A1A2A3A4A5(NDEF格式通用A密钥)或全F密钥FFFFFFFFFFFF
  • 若URL过长超过48字节,可依次使用扇区2、扇区3等后续扇区的非控制块存储,注意避开每个扇区的最后一个块即可
验证注意事项
  • 安卓设备需在NFC设置中开启「NFC标签自动读取」功能,iOS设备需升级至iOS13及以上版本,即可原生识别NDEF URL标签自动弹出浏览器
  • 写入前建议先读取对应块的原有内容,确认无重要数据后再覆盖,避免卡片原有功能失效

内容的提问来源于stack exchange,提问作者S.James

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 06:00:02