Контрольная цифра Последняя цифра номера Вашей кредитной карты - контрольная цифра (наподобие контрольной суммы). Алгоритм, используемый для определения контрольной цифры, называется алгоритмом Luhn в честь сотрудника IBM Hans Peter Luhn (1896-1964), который запатентовал (US Patent 2950048, Computer for Verifying Numbers) эту технологию в 1960 году. Пример 4408 0412 3456 7890 Major Industry Identifier (MII) = 4, т.е. Банки и Финансы, Идентификатор выпускающей организации = 440804 (партнер VISA), номер счета 123456789, контрольная цифра = 0. Применим алгоритм проверки для данного номера: В верхней строке записан номер кредитной карты Во второй строке мы умножаем соответствующую цифру на 2. Последнюю (контрольную) цифру НЕ НАДО умножать на 2 В третьей колонке, мы вычитаем 9 из чисел, больших 10. Если число меньше 10, то его оставляем без изменений Нижняя строка содержит цифры, которые необходимо сложить вместе (включая последнюю) Тест пройден, если полученное число кратно 10 (делится на 10 без остатка) 4-4-0-8-0-4-1-2-3-4-5-6-7-8-9-0 2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1 -------------------------------------- 8-4-0-8-0-4-2-2-6-4-1-6-5-8-9-0 8+4+0+8+0+4+2+2+6+4+1+6+5+8+9+0 = 67 Если мы просуммируем все числа, записанные в последнй строке приведенной таблицы, то получим число 67, которое не делится на 10 без остатка. Следовательно приведенный номер НЕ прошел тест и является некорректным. Однако если мы заменим контрольную цифру с 0 на 3, тогда получим валидный (верный) номер: 4408 0412 3456 7893 Вот названия прог которые используют данный алгоритм проверки картона : Credit Carder CC checker Credit Card Number Validator Credit Card Verifier