- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个需要读取 mifare 卡序列号的应用程序,我使用的语言是 C#。
我是 mifare 读卡器编程的新手,所以很抱歉提出了愚蠢的问题。首先我想知道Mifare UID和Mifare Serial number是否有区别。
我已经在 WinSCard 库的帮助下获得了 UID,但我不知道如何获得应该是 10 位数字的卡序列号。
如果您能指出正确的方向,我将不胜感激。
在此先感谢您的帮助。问候
最佳答案
SCardTransmit 方法的 C# 签名
[StructLayout(LayoutKind.Sequential)]
public struct SCARD_IO_REQUEST
{
public int dwProtocol;
public int cbPciLength;
}
[DllImport("winscard.dll")]
public static extern int SCardTransmit(int hCard, ref SCARD_IO_REQUEST pioSendRequest, ref byte SendBuff, int SendBuffLen, ref SCARD_IO_REQUEST pioRecvRequest,
ref byte RecvBuff, ref int RecvBuffLen);
读取mifare卡UID代码示例
private SmartcardErrorCode GetUID(ref byte[] UID)
{
byte[] receivedUID = new byte[10];
UnsafeNativeMethods.SCARD_IO_REQUEST request = new UnsafeNativeMethods.SCARD_IO_REQUEST();
request.dwProtocol = 1; //SCARD_PROTOCOL_T1);
request.cbPciLength = System.Runtime.InteropServices.Marshal.SizeOf(typeof(UnsafeNativeMethods.SCARD_IO_REQUEST));
byte[] sendBytes = new byte[] { 0xFF, 0xCA, 0x00, 0x00, 0x04 }; //get UID command for Mifare cards
int outBytes = receivedUID.Length;
int status = SCardTransmit(_hCard, ref request, ref sendBytes[0], sendBytes.Length, ref request, ref receivedUID[0], ref outBytes);
UID = receivedUID.Take(8).ToArray();
return status;
}
关于c# - 使用 WinSCard 库获取 mifare 卡序列号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16856620/
我正在尝试阅读爱沙尼亚身份证的个人文件。 我需要将以下数据发送到卡(从 here ) 以从个人文件中读取记录(即 ID 号、姓名等): 00 A4 00 0C # We choose
请检查我下面的 C# 代码。我正在尝试获取现在连接到我的计算机的智能卡读卡器列表。但是这个函数返回所有过去连接的智能卡读卡器名称(我的意思是现在没有连接)。我只想要事件的(当前)连接的读者姓名列表。我
我正在尝试使用以下代码连接智能卡读卡器 retCode = ModWinsCard.SCardConnect(hContext, cbReader.SelectedItem.ToString(), M
我正在开发可与智能卡配合使用的可移植 native 客户端应用程序。为此,我想将 winscard 库包含到我的项目中。目前我在编译阶段失败了。 我在我的源文件中添加了一行 #include 和附加
如果读卡器中没有卡,我在获取 PCSC 读卡器序列号时遇到问题。我正在使用winscard.dll 和c++。 以下代码仅适用于读卡器中存在卡的情况。否则,不会检索 SCardHandle。我还没有找
我正在开发一个需要读取 mifare 卡序列号的应用程序,我使用的语言是 C#。 我是 mifare 读卡器编程的新手,所以很抱歉提出了愚蠢的问题。首先我想知道Mifare UID和Mifare Se
我必须使用 WinScard.dll 库来访问智能卡。我有一个 Java 应用程序,它加载并使用该库来访问智能卡。 32 位系统:最初我们的应用程序是为 32 位 Windows 编写的。因此,以下库
我正在使用 ACR122U 测试智能卡。但是,当我在上面放一张卡时,Windows 会自动向它发送 APDU 命令。 根据问题windows 8 disable smartcard plug and
两周以来,我一直致力于读取事件 NFC TI 芯片的标签和存储链接。 我在阅读 ATR 时也遇到了问题。 我的阅读器是 Springcard H663。 我使用 winScard.dll 并设法成功地
我们购买了ACR122 USB SDK用于NFC测试。我们想为 ACR122U-A2 NFC 阅读器构建测试桌面应用程序。我们正在 Microsoft Windows 7 平台上用 Java 开发它。
我正在创建一个 .NET Windows 服务来与智能卡读卡器通信。主要组件是一个名为 winscard.dll 的 Windows DLL,我在 .NET 代码中将其与 DLLImport 属性一起
为了与智能卡通信,我使用 WINSCARD.DLL 作为 API 将 APDU 命令发送到智能卡。对于几个读卡器,这是按预期工作的,但不知何故,如果我将命令发送到 O2Micro 读卡器,我从方法 S
我正在使用 C++ 开发通用 Windows 平台应用程序。我有一个用 C++ 编写的工作 项目,它可以与智能卡通信。对于此通信,它使用 winscard.h 库。 我想在 UWP 应用程序中使用 w
一些背景信息: 为了读取/写入 SLE4442 存储卡,我的应用目前正在使用 Omnikey Cardman 3021 USB 读卡器,一个能够包装 CT-API 调用(定向到 omnikey 的 d
我是一名优秀的程序员,十分优秀!