如何检查我的NFC标签ID(UID)?

use*_*103 0 tags serial-number uniqueidentifier nfc hce

当我们习惯使用APK&TAG每部手机时,可以知道其他NFC TAG ID.例如,电话A和B尝试标记.然后,电话A可以知道电话B的NFC标签ID(4字节 - 十六进制).但我想知道如何在手机上知道我的NFC TAG ID.没用过其他手机.如果您了解任何其他信息,请就此向我提出建议.

Mic*_*and 7

电话不一定具有固定的防冲突标识符(您称之为"NFC标签ID").例如,它可能具有防冲突标识符,在每次激活时随机分配(例如,打开外部HF场,打开电话等).它还可以具有一个或甚至多个不可变的防冲突标识符(例如,来自一个或多个安全元件).

这取决于几个因素:

  • 安全元件是否连接到该手机中的NFC控制器?
  • NFC控制器是否配置为将连接的安全元件暴露给外界?
  • 手机处于卡仿真模式还是处于被动对等模式(或两种模式的组合防冲突阶段)?
  • NFC控制器是否将一个卡仿真实体(例如安全元件或主机控制器)直接暴露给外部世界,或者它是否使用NFCEE路由组合了一个或多个仿真实体?
  • 等等.

当你提到"APK"时,我猜你指的是Android平台(虽然你拒绝回答我的问题).在较新的Android设备(特别是那些支持基于主机的卡仿真的设备)和完全不使用卡仿真的Android设备上,外部世界可见的防冲突标识符(UID)通常不是静态的,并且每次都会发生变化激活或每次重启设备(似乎存在一些例外).特别地,对于NFC对等模式,该标准要求使用每会话随机标识符.因此,UID在那些典型情况下不会有太大用处.

通常,Android 提供任何API来从设备中检索当前使用的防冲突标识符.通常,随机标识符是在NFC控制器内创建的,因此Android系统甚至都不知道它.

关于安全元素芯片的不可变ID,vanilla Android不包含访问安全元素的公共API,因此这同样适用于此类安全元素的任何标识信息.