Search for a tool
Luhn Number Checksum

Tools to check Luhn generated numbers. The Luhn algorithm (also called modulo 10 or mod 10) is a checksum formula for numbers/digits used with credit card or administrative numbers.

Results

Luhn Number Checksum -

Tag(s) : Checksum, Arithmetics

Share dCode and you

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!
A suggestion ? a feedback ? a bug ? an idea ? Write to dCode!

Team dCode likes feedback and relevant comments; to get an answer give an email (not published). It is thanks to you that dCode has the best Luhn Number Checksum tool. Thank you.

# Luhn Number Checksum

## Number with Missing Digits

Tools to check Luhn generated numbers. The Luhn algorithm (also called modulo 10 or mod 10) is a checksum formula for numbers/digits used with credit card or administrative numbers.

### What is the Luhn Algorithm for?

Luhn makes it possible to check numbers (credit card, SIRET, etc.) via a control key (called checksum, it is a number of the number which makes it possible to check the others). If a character is misread or badly written, then Luhn's algorithm will detect this error.

Luhn is known because MasterCard, American Express (AMEX), Visa and all credit cards use it.

Example: 12345674 is a valid card number, 1234567 is the initial number and 4 is the checksum.

Example: If a user enter 13245674 (2 and 3 are switched), then the program calculates the luhn checksum for 1324567 and finds 5 instead of 4 expected, the number is invalid and so the code has been badly typed.

### How to verify a number with Luhn? (Validity check)

The Luhn algorithm starts by the end of the number, from the last right digit to the first left digit. Multiplying by 2 all digits of even rank. If the double of a digit is equal or superior to 10, replace it by the sum of its digits. Realize the sum $s$ of all digits found. The control digit $c$ is equal to $c = (10 - ( s \mod 10 ) \mod 10)$.

Example: The number 853X, with X=0, the digit to calculate.
Take the digit 3, doubled, 3*2 = 6.
Takes the digit 5, not multiplied by 2
Take the 8, multiplies it by 2 : 8*2=16 and 1+6=7 to get 7.
The sum is 6+5+7 = 18. As 18 modulo 10 = 8, one calculated (10 - 8) %10 = 2, 2 is the digit checksum control. So 8532 is valid according to Luhn.

 8 5 3 0 8*2=16 stays 5 3*2=6 stays 0 1+6=7 5 6 0 s=7 +5 +6 +0=18 c=10-(18%10)=2

### How to calculate a CCV/CVC1/CVV1/CVC2/CVV2 code?

CVC (Card Validation Code) or CVV (Card Validation Value) codes are 3-digits located on the back of bank cards. Generated by the banks, Visa and MasterCard have their own algorithm (based on private key) using the personal account number, the expiry date of the card and the service code, this information is then compared by those calculated by the bank. There are even banks that offer to change these numbers at will. These numbers are therefore impossible to compute without knowing the algorithm and the key, and there is no relation to Luhn's algorithm.

### How to calculate the expiry date for a card?

The expiration date (expr/expiry date) is not a value dependent on Luhn's algorithm, it is not computable. Its value is written on the front of the card in mm/yy format.

### Can Luhn be used for gift cards code?

The best practice for generating a gift card code is to generate a random number and associate a checksum with it, such as Luhn's algorithm. The code of the gift card is then stored in a database with its data (money, name, loyalty points, etc.). The use of Luhn makes it possible to ensure that the gift code is well written if it must be typed by a human or read by a machine. A person wanting to find the generation algorithm can not then achieve this, the random number ensuring too low probability of success.

NB: all gift card codes are unfortunately not based on a random generation and if they are deterministic, they are then subject to a security vulnerability allowing reverse engineering and potential generation at will.

### Is Luhn used for credit cards magnetic stripe?

No, in the magnetic strip is the information of the credit card completed by a different checksum control: the Longitudinal redundancy check.

## Source code

dCode retains ownership of the source code of the script Luhn Number Checksum online. Except explicit open source licence (indicated Creative Commons / free), any algorithm, applet, snippet, software (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt, encrypt, decipher, cipher, decode, code, translate) written in any informatic langauge (PHP, Java, C#, Python, Javascript, Matlab, etc.) which dCode owns rights will not be released for free. To download the online Luhn Number Checksum script for offline use on PC, iPhone or Android, ask for price quote on contact page !