Luhn’s Algorithme, also known as the Formule de Luhn or algorithme du module 10, is a simple checksum formula that is widely used to validate identification numbers, especially credit card numbers. Développé par IBM scientist Hans Peter Luhn in 1954, this algorithm helps to prevent accidental errors in data entry and is employed by various industries to ensure the integrity of numeric identifiers.
L’algorithme fonctionne en effectuant les étapes suivantes :
- En partant du chiffre le plus à droite, doubler la valeur de chaque deuxième chiffre. Si ce double donne un nombre supérieur à 9, soustraire 9 du résultat.
- Additionner tous les chiffres, modifiés ou non.
- If the total modulo 10 is equal to 0, then the number is valid according to Luhn’s Algorithm.
Par exemple, considérez le numéro 4539 1488 0343 6467:
- Doubler chaque deuxième chiffre à partir de la droite : 4, 10, 3, 18, 8, 0, 3, 12, 6, 12, 7.
- Ajuster ceux supérieurs à 9 : 4, 1, 3, 9, 8, 0, 3, 3, 6, 3, 7.
- Somme : 4 + 1 + 3 + 9 + 8 + 0 + 3 + 3 + 6 + 3 + 7 = 43.
- Vérifier si 43 modulo 10 est égal à 0 : ce n’est pas le cas, donc le numéro est invalide.
Luhn’s Algorithm is particularly useful because it can be easily implemented and is effective in detecting simple errors, such as mistyped digits or transposed numbers. However, it’s important to note that while Luhn’s Algorithm can indicate that a number might be valid, it does not guarantee that the number is legitimate or has not been compromised.