当前位置: 首页 > 编程语言 > C#

使用WinSCard库获取mifare卡序列号分享

时间:2023-04-10 15:37:16 C#

使用WinSCard库获取mifare卡序列号我正在开发一个需要读取mifare卡序列号的应用程序,我使用的语言是C#。我是mifare阅读器编程的新手,所以我很抱歉提出这个愚蠢的问题。首先,我想知道MifareUID和Mifare序列号之间是否有任何区别。我在WinSCard库的帮助下设法获得了UID,但我不知道如何获得卡的序列号,该序列号应该是10位数字。如果您能指出正确的方向,我将不胜感激。在此先感谢您的帮助。关于SCardTransmit方法的C#签名[StructLayout(LayoutKind.Sequential)]publicstructSCARD_IO_REQUEST{publicintdwProtocol;公共诠释cbPciLength;}[DllImport("winscard.dll")]publicstaticexternintSCardTransmit(inthCard,refpioSCARD_IO_REQ,refbyteSendBuff,intSendBuffLen,refSCARD_IO_REQUESTpioRecvRequest,refbyteRecvBuff,refintRecvBuffLen);读取mifare卡UID的代码示例以上是C#学习教程:使用WinSCard库获取mifare卡序列号分享的全部内容,如果对你有用还需要进一步了解C#学习教程,希望大家多多关注—privateSmartcardErrorCodeGetUID(refbyte[]UID){byte[]receivedUID=newbyte[10];UnsafeNativeMethods.SCARD_IO_REQUEST请求=newUnsafeNativeMethods.SCARD_IO_REQUEST();request.dwProtocol=1;//SCARD_PROTOCOL_T1);request.cbPciLength=System.Runtime.InteropServices.Marshal.SizeOf(typeof(UnsafeNativeMethods.SCARD_IO_REQUEST));byte[]sendBytes=new0xbyte[FF,0xCA,0x00,0x00,0x04};//获取Mifare卡的UID命令intoutBytes=receivedUID.Length;intstatus=SCardTransmit(_hCard,refrequest,refsendBytes[0],sendBytes.Length,refrequest,refreceivedUID[0],refoutBytes);UID=receivedUID.Take(8).ToArray();返回状态;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如有转载请注明出处: