Anthony Marchini
There is a checksum since I have a shell script that comes with the
Hamilton C shell that checks it. However, since they have a copyright
notice in it, you'll have to ask Doug at Hamilton Labs for a copy.
We use the Hamilton shell here to replace the NT command line and it is
worth every penny that you pay for it.
Hamilton Labs
508-440-8307
hamilton.bix.com
Best regards.
Rick
*******************************************************************
Rick Naro Paradigm Systems
rn...@devtools.com 3301 Country Club Road, Suite 2214
Phone: 607-748-5966 Endwell, NY 13760
FAX: 607-748-5968 http://www.devtools.com
> Does anyone know of a good source for information on the coding of
> standard credit cards. Primarily I need to know if there is some kind of
> checksum and how it is calculated. Possibly the different numbers used
> by each card manufacturer (visa,mastercard,american express ..etc)
> Visa wasn't much help in the matter, nor were repeated calls to banks.
> This is a read only application.
after developing MANY pos applications and fuel pump card systems, i
feel for you! it was a real bitch when i needed the information. in
order
to receive the full card specification packages, you normally have to
work for a company that is registered as a developer in credit card
applications and sign your life away (as well as sign to secrecy) before
receiving the individual bank/card specs. below should get you started.
i hope that you are not doing anything illegal.. (well, hell - you
really
cant do anything illegal by just reading the card - it takes a mountain
of paperwork and a modem link to process anything...)
credit cards are really simple... first of all, it depends on what
'track'
you want to read (1, 2, or 3). track 2 is the most common. i will assume
that you already have access to a card reader. there are 5 basic pins on
the
reader:
vss
vcc
card is loaded
data bit clock
data bit
whenever there is a card in the unit, the card load bit is set. each
time an
incoming bit needs to be processed, the clock pin goes, then you read
the bit.
there are 5 bits for each character, four bits are the data, and a
parity bit.
the card format is as follows:
start character (":")
card number
seperator ("=")
expiration ("YYMM")
extra stuff (bank encoded)
end character ("?")
checksum (LRC type)
for example :4422335472637346=9712MORESTUFF?<LRC BYTE>
it takes some playing, but you'll get it.. email me if you need any
further
information...
oh ya... card types - pretty simple:
if the first number is a.. it is a...
3 amex
4 visa
5 mastercard
6 discover
sorry... thats all i should give you... enjoy!
doug
>Visa wasn't much help in the matter, nor were repeated calls to banks.
Are you suprised? They are very wary for some strange reason of peole
who want to read their credit cards as you could then easily duplicate
them. This is usually not permitted to do for your own and criminal when
you do it to someone elses card.
>This is a read only application.
Why do you want the information? Look at it this way. Send me your
credit cards I will read them and send them back with the data.......
Now you can see why the banks etc are being cautious.
Why do you want to be able to read credit cards?
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\/\ Chris Hills, England /\/\/\/\/\/\/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
> the card format is as follows:
>
> start character (":")
> card number
> seperator ("=")
> expiration ("YYMM")
> extra stuff (bank encoded)
> end character ("?")
> checksum (LRC type)
>
> for example :4422335472637346=9712MORESTUFF?<LRC BYTE>
Thanks but my credit cards appear to be delimited by the caret "^" and the
beginning
is EB. Also the Name is included.
Again I appreciate the response. I can't seem to find the LRC. How many
characters can be stored on a card??
Anthony Marchini
American Locker Security Systems, Inc.
The above description is correct. Typically, track 2 is encoded at 75
bpi (bits per inch) and contains up to 40 5-bit characters (4-bit bcd
plus parity). This track is numeric only. The digits are encoded lsb
first starting at the left edge of the stripe (with the stripe toward
you and at the top). The start sentinel is hex 0B and the end sentinel
is hex 0E. The field separator is hex 0D. The LRC is the exclusive-or of
all the other digits on the card (it has its own parity bit).
Tracks 1 and 3 are encoded at 210 bpi using 7-bit characters that are
alphanumeric. Often your name is on track 1. That is how an ATM machine
is able to greet you personally.
The bit-level format of the cards is not a secret nor is it encrypted.
That is why a PIN is required for an ATM transaction.
The specification was available from the document center:
(415) 591-7600 (the area code may be 510 now)
Ask for ISO 7810, 7811 and 7812.
--
Andrew McKewan mck...@austin.finnigan.com
Finnigan Corporation
2215 Grand Avenue Parkway Tel: (512) 251-1574
Austin, TX 78728-3812 Fax: (512) 251-1547
I believe there is a ISO document on it. If anyone knows its exact document
number I would really appreciate it.
Anthony Marchini
American Locker Security Systems Inc.
www.americanlocker.com
Anthony Marchini
I was asking for something specific and perfect for my city,
Whereupon lo! upsprang the post of "Inland Flight Center, Inc"
<i...@pe.net>:
>after developing MANY pos applications and fuel pump card systems, i
>feel for you! it was a real bitch when i needed the information. in
>order
>to receive the full card specification packages, you normally have to
>work for a company that is registered as a developer in credit card
>applications and sign your life away (as well as sign to secrecy) before
>receiving the individual bank/card specs. below should get you started.
>i hope that you are not doing anything illegal.. (well, hell - you
>really
>cant do anything illegal by just reading the card - it takes a mountain
>of paperwork and a modem link to process anything...)
I did a project using just the card reader mechanism. The idea was to
gauge the level of a lightning strike to an overhead power line in the
field. The user places small pre-recorded magnetic strips next to
ground wires where they want to take measurements. After a strike,
the cards are collected up and feed into the reader. The card
reader's magnetic head was wired to an ADC on a PC expansion card.
Buy detecting how much signal was erased by the current in the wire,
we could get a pretty good value of the maximum current flow through
the wire. At any rate, while developing the system, I would run my
credit card through the reader mechanism and often wondered how the
data was encoded -- maybe FSK?. It was a fairly high amplitude sine
wave, but I never really looked at it closely. Does anyone know how
the signal is encoded? Maybe someday I'll be back on that project,
and if I knew the encoding I could slip in an extra little hidden
function in the code ;-)
G. Levand
Anthony,
The document I used many years ago was ISO 7811/2 "Identification cards--
Recording technique--Part 2: Magnetic stripe". This was the 1985 edition,
but may have been revised/superseded since.
I haven't done anything in POS in a while, but I hope this helps.
MV
Martin Vuille | "Your partner in | System Development Consulting
ProControl | successful product | Software & Firmware Contracting
(613) 258-0021 | development" | System Integration
----------------------------------------------------------------------
"Any clod can have the facts, but having opinions is an art" C. McCabe
> Does anyone know of a good source for information on the coding of
> standard credit cards. Primarily I need to know if there is some kind of
> checksum and how it is calculated. Possibly the different numbers used
> by each card manufacturer (visa,mastercard,american express ..etc)
> Visa wasn't much help in the matter, nor were repeated calls to banks.
> This is a read only application.
Yes, I know it's very difficult to obtain that kind of information,
specially from visa and other credit card companies.
Here are some links that may help you:
Card-o-Rama.
It's a really old file, but it's the best, gives technical
information on card caracteristics and coding.
http://underground.org/publications/phrack/p37/p37-6.html
Magnetic Stripe Card Technology
It's a new file. I guess it's a FAQ set by a card reader
seller.
http://www.aitworld.com/techvalley/magstripe.html
Magnetic Stripes
It's the digital version of an article on the 2600
Magazine.
http://www.calpoly.edu/~pirate/magcard/stripes.html
By the way, if you just want to try some card readers, there are
some economical options, like Panasonic ZU-M1121S1 or ZU-M1242S1,
both available at Digikey (http://www.digikey.com/).
Hope that's what you were looking for,
Juan Rubio
jru...@panama.phoenix.net
> Card-o-Rama.
> It's a really old file, but it's the best, gives technical
> information on card caracteristics and coding.
> http://underground.org/publications/phrack/p37/p37-6.html
Looks like this page is no longer available... But you can look at:
http://www.ee.latrobe.edu.au/postgrad/michaewa/magstripe.html
http://eucmdx.gae.ucm.es/~padilla/extrawork/card-o-rama.txt
http://www.soci.niu.edu/~jthomas3/phracks/phrack-37
Sorry for the inconvenience,
Juan Rubio
jru...@panama.phoenix.net
> Does anyone know of a good source for information on the coding of
> standard credit cards. Primarily I need to know if there is some kind of
> checksum and how it is calculated. Possibly the different numbers used
> by each card manufacturer (visa,mastercard,american express ..etc)
> Visa wasn't much help in the matter, nor were repeated calls to banks.
> This is a read only application.
Yes, I know it's very difficult to obtain that kind of information,
specially from visa and other credit card companies.
Here are some links that may help you:
Card-o-Rama.
It's a really old file, but it's the best, gives technical
information on card caracteristics and coding.
http://underground.org/publications/phrack/p37/p37-6.html
Magnetic Stripe Card Technology
> Card-o-Rama.
> It's a really old file, but it's the best, gives technical
> information on card caracteristics and coding.
> http://underground.org/publications/phrack/p37/p37-6.html
Looks like this page is no longer available... But you can look at:
: Anthony Marchini
Here is a simple basic program that calculates these checksums for you.
No magic. Try it. It works. Don...
100 INPUT "Input Charge Card Number";A$
110 FOR X = 1 TO LEN(A$)
120 IF MID$(A$,X,1) >="0" AND MID$(A$,X,1) <="9" THEN B$=B$+MID$(A$,X,1)
130 NEXT X
140 FOR X = LEN(B$)-1 TO 1 STEP -1
150 IF M=2 THEN M=1 ELSE M=2
160 IF VAL(MID$(B$,X,1)) * M > 9 THEN CS = CS + VAL(MID$(B$,X,1)) * M -9 ELSE
CS= CS + VAL(MID$(B$,X,1)) * M
170 NEXT X
180 IF (CS + VAL(RIGHT$(B$,1))) MOD 10 = 0 THEN PRINT "OK" ELSE PRINT "Error"
Don McKenzie don...@labyrinth.net.au
DonTronics Tullamarine, Australia
http://www.labyrinth.net.au/~donmck
SLI, the serial LCD that auto detects baud rates from 30 to 125K bps.
SimmStick(tm) A PIC proto PCB the size of a 30 pin Simm Memory Module.
EASY PIC'n Beginners Guide to using PIC 16/17 MicroChip products.