Quelle est la meilleure façon d'obtenir des données de piste hors d'un simple lecteur de cartes magnétiques HID USB?

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

Question

Je dois obtenir des pistes 1 et 2 données hors cartes magnétiques et de les envoyer sur le réseau à un serveur d'attente. Qu'est-ce qu'un moyen facile d'obtenir les données de la piste d'un lecteur de cartes magnétiques HID USB?

Dans le cas où il aide, j'ai un MagTek Mini Swipe magnétique Strip Reader (réf. 21040140)

Je suis OS agnostique - une solution pour Windows, Mac ou Linux serait génial. De préférence, pas .NET, mais si c'est la meilleure façon que je vais y aller.

Qu'est-ce que vous pensez tous?

Merci!

Était-ce utile?

La solution

Chaque lecteur de cartes que j'ai vu a eu un émulateur de clavier, de sorte que vous glissez la carte et il envoie des caractères dans la mémoire tampon du clavier. On dirait que celui-ci fait aussi que (documentation: http://www.magtek.com /documentation/public/99875206-16.01.pdf )

Page 14 décrit les données envoyées après un coup, ce qui est nouveau, assez standard pour les lecteurs de cartes:
[Tk1 SS] [Tk1 données] [ES] [Tk2 SS] [Tk2 données] [ES] [TK3 SS] [TK3 données] [ES] [CR]

Ainsi, vos données une piste commence par % et se termine par ?
Suivre deux données commence par ; et se termine par ?

Je remarque la question a été marquée par carte de crédit, donc il serait intéressant de faire en sorte que vous connaissez les conséquences de l'envoi de données de cartes-premières à travers un réseau (même un réseau interne). Jetez un oeil à l'industrie des cartes de paiement Normes de sécurité des données (PCI-DSS): https: // www. pcisecuritystandards.org/security_standards/pci_dss.shtml


Il existe un programme de démonstration pour ce lecteur spécifique qui vient avec la source VB.
http://www.magtek.com/support/software/demo_programs/usb_swipe_insert.asp

Autres conseils

meilleur moyen de télécharger le fichier Cab de ce lien et l'inclure dans le répertoire du projet dans un dossier « MagTek ».

http://www.magtek.com/support/ logiciel / demo_programs / carte / usb_hid_swipe_readers / read_parse.asp

Ajoutez ce code dans le fichier ASPX après étiquette (fichier .cab de changement src selon)

   <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>

Conformément au code ci-dessus j'ai ajouté l'accent sur une zone de texte. Après glisser la carte automatiquement focalisée textboxes montrent la chaîne de données de carte de crédit complète.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top