Проверка номера карты на валидность

Сфера кредитования значительно упрощает жизнь многим клиентам банков, позволяя решать непредвиденные финансовые трудности в краткие сроки. Часто кредитные карты используются также и для накопления, ими расплачиваются за покупки и услуги, в том числе в интернете. Если вам предлагают через интернет совершить покупку по полной предоплате, и указывают якобы номер кредитной карты, на которую можно осуществить перевод, первое, что необходимо – это проверка номера кредитной карты. Такая операция позволит определить подлинность карты, а значит, вы обезопасите себя от неприятных ситуаций, и при необходимости, если стали жертвами мошенников, сможете обратиться к правоохранительным органам для решения проблем.

Может быть и другая ситуация, когда нужно проверить номер кредитной карты. Мы ведь все знаем, что банковская карта имеет индивидуальный, уникальный номер, позволяющий персонифицировать ее владельца. Если вы нашли на улице карту, и решили ее вернуть владельцу, то единственное, что можно предпринять в такой ситуации – отдать ее в банк. Сотрудники службы безопасности, имея доступ к базе данных клиентов, смогут найти и связаться с тем, кто потерял карту. Поэтому, не тратьте время на безрезультатные поиски контактных данных владельца карты. Законным путем получить их у вас не получится.

Способы проверки кредитных карт

Сегодня существует несколько способов, позволяющих, к примеру, проверить номер кредитной карты Сбербанка, или любого другого банка. Они представлены в виде специальных сервисов в интернете, за услуги которого придется заплатить, но при этом 100-процентной гарантии в подлинности данных вам никто не даст. Некоторые используют простую систему проверки подлинности любой карты по номеру, указанному на карте. Как правило, номер карты состоит из 16 цифр (количество может отличаться). Каждая цифра – это определенный код, секретная информация не только о владельце карты, но и о банке, и системе, которая выпустила карту. Путем несложных математических операций с цифрами на карте, которые описаны в алгоритме ЛУНА, вы получаете определенное число, которое и служит идентификатором подлинности кредитной карты любого банка.

Читайте также  Сканер benq 4300u драйвер

Помните, что любая банковская карта – это, прежде всего, источник информации о состоянии счетов, а также источник персональных данных, надежно скрытых. Не передавайте данные о карте посторонним лицам, чтобы обезопасить себя от мошенников.

Калькулятор определяет тип пластиковой карты и проверят правильность ввода номера по алгоритму Луна.

Номер пластиковой карты обычно включает в себя:

  • 6 цифр определяющих тип и организацию, выпустившую карту
  • до 12 цифр персонального банковского счета
  • и одна проверочная цифра, вычисленная при помощи алгоритма: Алгоритм Луна.

Калькулятор определяет тип и организацию, выпустившую карту по справочнику Типы банковских карт, в случае небанковской карты определяется отрасль по справочнику Идентификатор отрасли. Также проверяется правильность ввода номера с использованием Алгоритм Луна.

Алгоритм Лу́на (англ. Luhn algorithm ) — алгоритм вычисления контрольной цифры номера пластиковой карты в соответствии со стандартом ISO/IEC 7812. Не является криптографическим средством, а предназначен в первую очередь для выявления ошибок, вызванных непреднамеренным искажением данных (например, при ручном вводе номера карты, при приёме данных о номере социального страхования по телефону). Позволяет лишь с некоторой степенью достоверности судить об отсутствии ошибок в блоке цифр, но не даёт возможности нахождения и исправления обнаруженной неточности.

Алгоритм разработан сотрудником фирмы IBM Хансом Питером Луном, описан в США в 1954 году, патент получен в 1960 году.

Наиболее распространённые применения для подсчёта контрольной цифры:

  • Номера всех банковских карт
  • Номера некоторых дисконтных карт
  • Коды социального страхования
  • IMEI-коды.
  • Расчёт контрольного знака единого 8-значного номера железнодорожного вагона на РЖД.
  • Расчёт ICC >integrated circuit card identifier ) — уникальный серийный номер SIM-карты.

В настоящее время алгоритм является публичным достоянием.

Содержание

Достоинства и недостатки [ править | править код ]

В силу простоты реализации алгоритм отнимает минимум вычислительных мощностей; в ряде случаев при наличии навыка расчёт может быть произведён в уме. В то же время алгоритм Луна позволяет только выявить ошибки в блоках данных, и то не все. Искажение одной цифры — обнаруживается. Обнаруживаются практически все парные перестановки подряд идущих цифр (за исключением 09 ↔ 90). Не могут быть обнаружены некоторые искажения двух подряд идущих цифр, а именно 22 ↔ 55, 33 ↔ 66 и 44 ↔ 77. Алгоритм не даёт информации о месте и характере возникшей ошибки.

Читайте также  Редакторы для инстаграмма на айфон

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

Алгоритм проверки контрольной цифры [ править | править код ]

Упрощённый алгоритм [ править | править код ]

1. Начиная с первой цифры последовательности слева и через одну цифру (то есть позиции 1, 3, 5, 7, 9, …) в случае, если количество цифр в последовательности четное (как в этом примере, где оно равно 16), если же количество цифр нечетное, тогда, начиная со второй цифры последовательности через одну цифру (то есть позиции 2, 4, 6, 8, …), делается проверка: если 2·x > 9, то из произведения вычитается 9, иначе произведение 2·x оставляем без изменения, где x — текущая цифра.

2. Затем все числа, полученные на предыдущем этапе, складываются.

3. Полученная сумма должна быть кратна 10 (то есть равна 40, 50, 60, 70, …). В примере выше исходная последовательность некорректна.

В примере: последняя цифра — контрольная. Для того, чтобы номер был верен в соответствии с алгоритмом Луна, контрольная цифра должна быть равна 7.

Оригинальный алгоритм, описанный разработчиком [ править | править код ]

1. Цифры проверяемой последовательности нумеруются справа налево.

2. Цифры, оказавшиеся на нечётных местах, остаются без изменений.

3. Цифры, стоящие на чётных местах, умножаются на 2.

4. Если в результате такого умножения возникает число больше 9, оно заменяется суммой цифр получившегося произведения — однозначным числом, то есть цифрой.

5. Все полученные в результате преобразования цифры складываются. Если сумма кратна 10, то исходные данные верны.

Читайте также  Происхождение кислорода на земле

Алгоритм вычисления контрольной цифры [ править | править код ]

Num[1..N] — номер карты, Num[N] — контрольная цифра.

Ссылка на основную публикацию
Adblock
detector