ما هي أسهل طريقة للحصول على بيانات تتبع من قارئ بطاقة USB HID Simple HID؟

StackOverflow https://stackoverflow.com/questions/3917677

سؤال

أحتاج إلى الحصول على مسار 1 وتتبع 2 بيانات من البطاقات المغناطيسية وإرسالها عبر الشبكة إلى خادم انتظار. ما هي الطريقة السهلة للحصول على بيانات المسار من قارئ بطاقات USB HID Magnetic Card؟

في حال كان ذلك مفيدًا ، لدي قارئ شريط مغناطيسي Magtek Mini (الجزء رقم 21040140)

أنا OS Ad Attostic - حل لنظام التشغيل 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 Data] [ES] [CR

لذا فإن تتبع بيانات واحدة تبدأ بـ % وينتهي ?
تتبع اثنين من البيانات يبدأ مع ; وينتهي ?

لقد لاحظت أن السؤال تم وضع علامة على بطاقة الائتمان ، لذلك سيكون من المفيد التأكد من أنك تعرف عواقب إرسال بيانات البطاقة الخام عبر شبكة (حتى شبكة داخلية). ألقِ نظرة على معايير أمان بيانات صناعة بطاقة الدفع (PCI-DSS): https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml


يوجد برنامج تجريبي لهذا القارئ المحدد الذي يأتي مع مصدر VB.
http://www.magtek.com/support/software/demo_programs/usb_swipe_insert.asp

نصائح أخرى

أسهل طريقة لتنزيل ملف الكابينة من هذا الرابط وإدراجه في دليل المشروع في مجلد "Magtek".

http://www.magtek.com/support/software/demo_programs/card/usb_hid_swipe_readers/read_parse.asp

أضف هذا الرمز في ملف ASPX بعد العلامة (تغيير ملف CAB SRC حسب)

   <object id="USBHID" classid="CLSID:22571E97-956A-4CDD-AF8D-AE9C26597683" codebase="magtek/99510060.CAB#version=1,13,0,2">
    </object>

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
        $(function () {
$('#txtNameFirst').focus();  // Focus on a textbox is required
 USBHID.PortOpen = true;
            if (USBHID.PortOpen == false) {
                $('#<%= lblStatus.ClientID %>').text('Could not open MagTek reader');

            }
            else {
                $('#<%= lblStatus.ClientID %>').text('Please Swipe a card');
            }
    });
 $("#txtNameFirst").bind('change', function () {

var CCData = $("#txtNameFirst").val();  // CCData will contain the complete credit card data in a string.

alert(CCData);
$("#txtNameFirst").val(CCData.split('^')[1].split(' ')[0]);
                        $("#txtNameLast").val(CCData.split('^')[1].split(' ')[1]);
                        $("#txtCCNo").val(CCData.split('^')[0].substring(2, 18));
                        //alert('  Split1: ' + CCData.split('^')[1] + '  Split2: ' + CCData.split('^')[2]);
                        //alert('parsing good!');
                        $("#txtExpiDt_RoutingNo").val(CCData.split('^')[2].substring(2, 4) + '/' + CCData.split('^')[2].substring(0, 2));
});
    </script>

وفقًا للرمز أعلاه ، أضفت التركيز على مربع نص. بعد تمرير مربعات النصوص التي تركز على البطاقة ، تعرض تلقائيًا سلسلة بيانات بطاقة الائتمان الكاملة.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top