Luhn algorithm for validating credit cards
Posted in algorithms, php | Posted on 09-07-2008
The Luhn algorithm also known as the “modulus 10″ or “mod 10″ algorithm, is a checksum formula which can be used to validate credit card numbers. Developed in the 1950’s by IBM scientist Hans Peter Luhn and described in U.S. Patent 2,950,048. A PHP implementation is shown below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php function LuhnCheck($strDigits) { $sum = 0; $alt = false; for($i = strlen($strDigits) - 1; $i >= 0; $i--) { if($alt) { $temp = $strDigits[$i]; $temp *= 2; $strDigits[$i] = ($temp > 9) ? $temp = $temp - 9 : $temp; } $sum += $strDigits[$i]; $alt = !$alt; } return $sum % 10 == 0; } ?> |
