Используется ли алгоритм Луна для всех основных кредитных карт? (Discover, Visa, Mastercard, Amex)
Ссылка: Алгоритм Луна
Алгоритм Luhn - отличный способ быстро убедиться, что пользователь правильно набрал свой CС#.
Тем не менее, я обеспокоен тем, что может быть подмножество основных кредитных карт, которые не используют числа, удобные для Luhn-Algorithm.
У меня есть регистрация в нашем приложении для обнаружения шаблона во всех отклонениях от Luhn-Algorithm, но я бы предпочел узнать окончательно.
Ответы
Ответ 1
Почти.
China UnionPay и один вид карты Diners Club (enRoute) не используют проверку Luhn. ( Ответ LazyOnes неверен о 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
- Solo
- Переключатель
- Visa
- Visa Electron
Ответ 2
Да - он работает для всех основных типов карт.
У меня есть пользовательский класс PHP для обработки карточных данных, которые были скомпилированы из разных "номеров проверки подлинности" и похожих функций из нескольких языков программирования + информации из Википедии и некоторых систем обработки платежей. Он успешно проверяет номера тестовых карт (каждая платежная система имеет несколько таких номеров) для этих типов карт:
- Дебетовая/кредитная карта VISA
- VISA Electron
- VISA Deltali >
- MasterCard
- AMEX
- Maestro
- Переключатель
- Solo
- Diners Club
- Откройте для себя
- JCB
Ответ 3
Проверка LUN работает на большинстве кредитных карт. Это система контрольных цифр модуля 10, гарантирующая точное считывание/запись номера карты (магнитная полоса, виртуальный терминал или ручной ввод в старые дни ручной печати).
В дни ввода данных вручную эти системы проверки использовались, чтобы убедиться, что такие клавиши, как система нумерации книг UPS, точно введены (контрольная цифра 7).
Он даже используется в системах штрихового кодирования, таких как код 128, который нуждается в значении модуля 103, добавленном в кодированную строку данных, чтобы проверить правильность считывания кода.