我编写了一个简单的应用程序 (C#),以便通过我的智能卡读卡器在我的 Mifare 卡上执行一些 I/O 操作(显然,我使用了一些 Win API 包装)。
我得到的关于 mifare 的唯一信息是“Mifare 1k”),但是有什么方法可以知道我的 mifare 卡的确切类型吗?(例如可以是 Classic、DESFire、Plus、Ultralight..)?
或者我的应用返回的 Mifare 1k 描述可能意味着它只是一个经典的 Mifare?
我编写了一个简单的应用程序 (C#),以便通过我的智能卡读卡器在我的 Mifare 卡上执行一些 I/O 操作(显然,我使用了一些 Win API 包装)。
我得到的关于 mifare 的唯一信息是“Mifare 1k”),但是有什么方法可以知道我的 mifare 卡的确切类型吗?(例如可以是 Classic、DESFire、Plus、Ultralight..)?
或者我的应用返回的 Mifare 1k 描述可能意味着它只是一个经典的 Mifare?
维基是对的。在卡片的 ATR 中,您会找到确切的卡片类型。
看看这个: http ://www.acs.com.hk/drivers/eng/API_ACR122U_v2.00.pdf
在第 6 页中,您有 ATR 结构/格式。第 15 和第 16 字节是 de Card Name(类型)
如果您收到“Mifare 1k”,则指的是 MiFare Classic 1K。希望这对您有所帮助。
您可以找到卡的 ATR(重置答案)并分析该 ATR 以找到卡类型。
假设 ATR 是 3b 8f 80 01 80 4f 00 00 00 00 03 00 00 02 00 00 00 00 69(不是真实的)
如果 atrLength-0X6 = 1 那么 MIfare 1k
atrLength-0X6 = 2 然后是 Mifare 4K