IT Lecture Notes by Mark Kelly, McKinnon Secondary College

Check Digits

Adapted from http://www.beachnet.com/~hstiles/cardtype.html
by Harrell Styles

Credit Card Validation - Check Digits

This document outlines procedures and algorithms for Verifying the accuracy and validity of credit card numbers. Most credit card numbers are encoded with a "Check Digit". A check digit is a digit added to a number (either at the end or the beginning) that validates the authenticity of the number. A simple algorithm is applied to the other digits of the number which yields the check digit. By running the algorithm, and comparing the check digit you get from the algorithm with the check digit encoded with the credit card number, you can verify that you have correctly read all of the digits and that they make a valid combination.

A use for this information is when a user has keyed in a credit card number and you want to validate it before sending it our for debit authorization.

Here is a table outlining credit cards that you might want to validate.

CARD TYPE Prefix Length Check digit algorithm
MASTERCARD 51-55 16 mod 10
VISA 4 13, 16 mod 10
AMEX 34, 37 15 mod 10
Diners Club/
Carte Blanche
300-305
36, 38
14 mod 10
Discover 6011 16 mod 10

2. LUHN Formula (Mod 10) for Validation of Primary Account Number

The following steps are required to validate the primary account number:

Step 1: Double the value of alternate digits of the primary account number beginning with the second digit from the right (the first right--hand digit is the check digit.)

Step 2: Add the individual digits comprising the products obtained in Step 1 to each of the unaffected digits in the original number.

Step 3: The total obtained in Step 2 must be a number ending in zero (30, 40, 50, etc.) for the account number to be validated.

For example, to validate the primary account number 49927398716:

Step 1:

        4 9 9 2 7 3 9 8 7 1 6
x2  x2  x2  x2  x2 
------------------------------
18   4   6  16   2

Step 2: 4 +(1+8)+ 9 + (4) + 7 + (6) + 9 +(1+6) + 7 + (2) + 6

Step 3: Sum = 70 : Card number is validated

Note: Card is valid because the 70/10 yields no remainder.

 

Back to the IT Lecture Notes

Back to the last page you visited

Created October 27, 2004

Last changed: May 26, 2005 1:59 PM

IT Lecture notes copyright © Mark Kelly 2001-