How Credit Card Algorithms Work: The Anatomy of Credit Card Numbers
Have you ever wondered how credit card numbers work? I mean, how they really work? How do they come up with the numbers? Credit cards actually follow a very specific pattern. Let's take a look at how they're set up.
Example of a Credit Card Number
4485 3151 5882 2849
These numbers are split up into various parts that identifiy different things about the credit card (who issued it, etc). These things are: major industry identifier, bank issuer ID, user ID and check number. They correspond to these parts of the number:
- Number 1 is the MII.
- Numbers 2-6 are the issuer ID, telling which bank the card is from.
- Numbers 7 to n-1 are the user ID.
- The last number is a check number to make the number valid against the checking algorithm.
The major industry identifier tells you what the card is for. Here are the numbers and corresponding meanings.
MMI / Digit Value Category
0 = ISO/TC 68 and other industry assignments
1 = Airlines
2 = Airlines and other industry assignments
3 = Travel and entertainment
4 = Banking and financial
5 = Banking and financial
6 = Merchandising and Banking
7 = Petroleum
8 = Telecommunications and other industry assignments
9 = National assignment
The issuer ID is for identifying which bank owns the card. Here are the bigger companies numbers.
Issuer Identifier Card Number Length
- Diner's Club/Carte Blanche 300xxx-305xxx, 36xxxx, 38xxxx 14
- American Express 34xxxx, 37xxxx 15
- VISA 4xxxxx 13, 16
- Mastercard 51xxxx-55xxxx 16
- Discover 6011xx 16
As you can tell from this chart, my example number is a VISA card.
This number is pretty self-explanatory. The user ID is the identification for who owns the card. With VISA, each bank has 999,999,999 possible card holders. These are given based on availability.
To ensure that credit card numbers are valid, a final checking number is appended to each number to ensure that it passes a checking algorithm, otherwise known as the Luhn check. Let's check to see if my fake number above is a valid credit card number.
- Let's split up the number I made so that we have an easier time managing the number check.
4 4 8 5 3 1 5 1 5 8 8 2 2 8 4 9
- From the back, double every other number.
8 4 (16) 5 6 1 (10) 1 (10) 8 (16) 2 4 8 8 9
- After, we have to de-concatenate the double-digit numbers and then add them to make one single digit.
8 4 7 5 6 1 1 1 1 8 7 2 4 8 8 9
If you add all of the numbers together and they add up to a multiple of 10, you have a valid credit card number! If you have any questions, be sure to leave them in the comments below.
Follow and Chat with Null Byte!