usb - 从简单的 USB HID 磁卡读卡器获取轨道数据的最简单方法是什么?

标签 usb credit-card hid smartcard-reader

我需要从磁卡上获取 Track 1 和 Track 2 数据,并通过网络将它们发送到等待的服务器。从 USB HID 磁卡读卡器获取轨道数据的简单方法是什么?

如果有帮助,我有一个 MAGTEK 迷你刷卡磁条阅读器(部件号 21040140)

我是操作系统不可知论者——适用于 Windows、Mac 或 Linux 的解决方案会很棒。最好没有 .NET,但如果这是最简单的方法,我会去做。

大家怎么看?

谢谢!

最佳答案

我见过的每个读卡器都有一个键盘模拟器,所以你刷卡,它通过键盘缓冲区发送字符。看起来这个也这样做(文档:http://www.magtek.com/documentation/public/99875206-16.01.pdf)

第 14 页描述了刷卡后发送的数据,这在读卡器中同样是相当标准的:
[Tk1 SS] [Tk1 数据] [ES] [Tk2 SS] [Tk2 数据] [ES] [Tk3 SS] [Tk3 数据] [ES] [CR]

所以你的track one数据以%开头并以 ? 结尾
跟踪两个以 ; 开头的数据并以 ? 结尾

我注意到这个问题被标记为信用卡,所以确保你知道通过网络(甚至是内部网络)发送原始卡数据的后果是值得的。查看支付卡行业数据安全标准 (PCI-DSS):https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

VB 源代码中提供了针对该特定阅读器的演示程序。
http://www.magtek.com/support/software/demo_programs/usb_swipe_insert.asp

关于usb - 从简单的 USB HID 磁卡读卡器获取轨道数据的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3917677/

相关文章:

macos - OsX 中的 USB HID API 回调永远不会被游戏 handle 或其他任何东西调用

java - 如何在 Java 中为 USB 端口生成特定的 ID?

.net - 为什么 .NET 框架不包含 USB 工具

C# 禁用 USB ReadPipe 的垃圾回收

credit-card - 来自磁条信用卡的任意数据,如何解析?

payment-gateway - 基于 token 的信用卡系统与传统网关

c# - 如何通过串行端口RS-232或USB转换器将体重秤的重量显示到文本框?

java - 键盘向下箭头的转义序列

linux - USB HID 设备仅报告第一个事件