Работает ли алгоритм Луна для всех основных кредитных карт? (Откройте для себя, Visa, Mastercard, Amex) - PullRequest
19 голосов
/ 23 октября 2011

Ссылка: Алгоритм Луна

Алгоритм Луна - отличный способ быстро проверить, правильно ли пользователь ввел свой CC #.

Однако я обеспокоен тем, что может существовать подмножество основных кредитных карт, которые не используют номера, удобные для алгоритма Луна.

У меня действительно есть регистрация в нашем приложении, чтобы обнаружить шаблон во всех отклонениях алгоритма Луна, но я бы предпочел знать это окончательно.

Ответы [ 3 ]

13 голосов
/ 07 мая 2014

Почти.

China UnionPay и один вид карты Diners Club (enRoute) не используют проверку Luhn. ( Ответ LazyOne неверен в отношении Diners Club .)

Почти все остальные.

Ссылаясь на Страница "Банковская карта" Википедии :

Не подтверждать вообще:

  • Diners Club enRoute
  • China UnionPay

Подтвердить с Luhn 2:

  • American Express
  • карточки
  • Diners Club Carte Blanche
  • Diners Club International
  • Diners Club США и Канада
  • Карта открытий
  • InstaPayment
  • JCB
  • Лазер
  • Maestro
  • Dankort
  • MasterCard
  • переключатель
  • Visa
  • Visa Electron
5 голосов
/ 23 октября 2011

Да - работает для всех основных типов карт.

У меня есть собственный класс PHP для обработки данных карты, которые были скомпилированы из различных «проверок номера карты» и аналогичных функций из нескольких языков программирования + информация из Википедии и некоторых систем обработки платежей.Он успешно проверяет номера тестовых карт (каждая платежная система имеет несколько таких номеров) для следующих типов карт:

  • VISA дебет / кредит
  • VISA Electron
  • VISA Delta
  • MasterCard
  • AMEX
  • Maestro
  • Switch
  • Solo
  • Diners Club
  • Откройте для себя
  • JCB
3 голосов
/ 23 октября 2011

Проверка LUN работает на большинстве кредитных карт.Это система контрольных цифр с модулем 10, гарантирующая, что номер карты был точно считан / записан (магнитная полоса, виртуальный терминал или ручной ввод в старые времена ручного импринтера карт).

Когда-то во времена ручного ввода данных эти системы проверки использовались для обеспечения точного ввода ключей, таких как система нумерации книжек ИБП (модуль проверки 7).

Это дажеиспользуется в системах штрих-кодирования, таких как код 128, которому требуется цифра модуля 103, добавленная к строке закодированных данных, чтобы убедиться, что код был прочитан правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...