Étape 3: notions de base des cartes magnétiques
1. détecter le moment où la carte a été glissée
2. lire le flux de données
3. détecter le moment où la carte a disparu
4. traiter les données
5. afficher les données
Tout d’abord, je vous présenterai à quelques éléments de la carte magnétique que vous aurez besoin de savoir quand vous commencez à écrire votre propre code.
Normes de cartes magnétiques
Cartes magnétiques sont normalisés par l’ISO dans les documents suivants :
7810 caractéristiques physiques du document au format carte de crédit
7811-1 gaufrage
7811-2 coercitivité magnétique - basse
7811-3 position des caractères estampés
7811-4 emplacement des pistes 1 & 2
7811-5 le lieu de la piste 3
7811-6 magnétique - haute coercitivité
7813 cartes de transactions financières
Comme vous pouvez le voir, cartes financières sont spécifiées dans un document distinct et ont souvent différents formats à, disons, votre carte d’épicerie ou carte téléphonique internationale. Vous aurez pour programmer ces différences. Je viens d’avoir une carte de crédit et carte d’assurance très pratique, donc j’ai programmé pour ces types (qui tous deux se trouvent être le schéma B).
Formats de cartes
Il y a plusieurs différents formats de cartes magnétiques. Format de A et B sont fréquentes, avec B étant le plus commun que j’ai vu et qui est pris en charge par le présent code. Les formats C par l’intermédiaire de M sont réservés par l’ISO, je crois, tout en N par?? sont réservées pour une utilisation personnalisée institutionnelle.
Piste 1
Pour des cartes de cartes, la première piste est enregistrée à 210 bits par pouce et est le premier 0,110" de la carte du dessus. Les données sont encodées « données de la carte » que 7 bits par caractère. Voilà les 6 bits pour le personnage et un peu de la parité. Il y a ~ 79 caractères alphanumériques sur la piste 1.
La commande physique est en arrière. Autrement dit, les données sont mais il est écrit en arrière sur la carte (et par conséquent, sera lu par votre firmware) comme. La parité est impaire.
Le format de données de carte ressemble à ceci :
Trace one SS = « % », FC = un des formats (gonna be B un grand nombre de fois), FS est souvent '', ES est '?' et le caractère LRC est communément ' <' même s’il n’est pas précisé dans les normes. En plus d’écrits sur la carte vers l’arrière, les données a un bit de parité impair et sont 0 x 20 de l’ASCII. Nous occuperons de cela lorsque nous traitons les données.
Piste 2
Piste deux est large de 0,110" et commence à 0,110 du haut de la carte. Densité d’enregistrement c’est 75 bits par pouce. Les données sont 5 bits par caractère et se compose d’environ 40 symboles numériques seulement. Vous ne devriez pas rencontrer toutes les lettres sur cette piste.
Le format de données de carte devrait suivre cette structure :
La SS pour piste deux est le point-virgule: «; » et le FS est « = »
Avec cette connaissance sacrée sous votre ceinture, poursuivez les étapes suivantes pour obtenir un code de mise en œuvre de la procédure décrite ci-dessus.