我正在使用 C# 和 Wiegand 26 读卡器来读取 Mifare Ultralight 卡。当我通过卡时,我得到十进制的“4392072”,但卡的 UID 是十六进制的“04 43 EB 61 E0 25 80”。
那么如何使用这个读卡器来获取完整的卡 UID 呢?
您仅获得第一防碰撞级别的一部分。
4392072 (十二月) = 430488 (十六进制)
这意味着您的阅读器只执行(或只给您)第一个反碰撞循环的一部分。描述非接触式智能卡防冲突回路的 ISO 14443 - 3 定义了防冲突回路的以下程序:
阅读器 -> '93'(防碰撞循环 1 命令)
卡 <- '88' + '1st byte' + '2nd byte' + '3rd byte'
阅读器 -> '95'(防碰撞循环 2 命令)
卡 <- '4th byte' + '5th byte' + '6th byte' + '7th byte'
也许您应该执行另一个命令,或者您的阅读器可能只支持 4 字节 UID 卡?