В номере банковской карты собственно ее индивидуальным номером являются лишь 9 цифр. Последняя цифра карты – контрольное число алгоритма Луна (не в честь спутника Земли, а по имени создателя алгоритма Ханса Питера Луна, сотрудника IBM).
Этот алгоритм обеспечивает надежность ввода данных карты при переводах денежных средств. Если ошибиться на одну цифру – перевод не найдет получателя.

В упрощенном виде алгоритм Луна выглядит следующим образом (берем цифры номера карты от седьмой до шестнадцатой). На иллюстрации номер несуществующий, алгоритм Луна в нем не выполняется.
1. Цифры проверяемой последовательности нумеруются справа налево.
2. Цифры, оказавшиеся на нечетных местах, остаются без изменений.
3. Цифры, стоящие на четных местах, умножаются на 2.
4. Если в результате такого умножения возникает число больше 9, оно заменяется суммой цифр получившегося произведения – однозначным числом, то есть цифрой.
5. Все полученные в результате преобразования цифры складываются. Если сумма кратна 10, то исходные данные верны.
Таким образом, нельзя верить историям формата «я ошибся на одну цифру при вводе номера карты, и деньги ушли неизвестному человеку». В таких случаях либо переводили не по номеру карты, либо ошиблись намного больше, чем на одну цифру.
Алгоритм Луна работает не только с банковскими картами, с помощью него можно проверить железнодорожные билеты, IMEI коды телефонов, ICCID коды сим-карты и многое другое.