Друкарня від WE.UA

Як перевірити номер банківської карти без банку, або алгоритм Луна.

Як визначають відсутність помилки номера карти в платіжних сервісах, невже вони, щоб перевірити чи правильно користувач увів номер карти відправляють його до банків - ні все простіше. Як це зробити без відправки запиту до банку? Дуже просто, потрібно застосувати алгоритм Луна.

Що собою являє цей алгоритм - беремо номер карти із 16 цифр, з них беремо 1-шу, 3-тю, 5-ту, 7-му, 9-ту, 11-ту, 13-ту, 15-ту - цифру і множимо її на 2 і ставимо на місце (якщо в процесі множення на 2 число перевищує, або рівне 10 то додаємо дві цифри цього числа, тобто у випадку із 12 - 1+2 і буде 3). Фінальний крок сумуємо усі цифри номера карти після обробки та результат має ділитися на 10 без залишку інакше номер карти є неправильним.

Все це можливо, тому що остання цифра номера карти є контрольною і завдяки їй вдається перевіряти правильність номера карти (щось типу хеша md5).

По кроках.
Крок 1.
Беремо кожну другу цифру номера і множимо на 2, якщо результат понад 10, то сумуємо цифри числа між собою. Ставимо результат на місце.

Крок 2
Сумуємо всі цифри карти між собою.

Крок 3
Результат скасування має ділитися на 10 без залишку інакше номер карти неправильний.
Приклад коду на python.

nb = list('<credit_cart_number_16_digits>')

for x in [0, 2, 4, 6, 8, 10, 12, 14]:
    r = int(nb[x]) * 2
    if r >= 10:
        r = int(list(str(r))[0]) + int(list(str(r))[1])
    nb[x] = str(r)

sn = 0

for i in nb:
    sn += int(i)

if sn % 10 == 0:
    print('Number bank cart correct!')
else:
    print('invalid cart number')

Висновок.

Такий алгоритм дуже корисний для перевірки правильності номерів, він багато де використовується: номери IMEI, американських NPIN

Статті про вітчизняний бізнес та цікавих людей:

  • Вітаємо з Різдвом Христовим!

    Друкарня та платформа WE.UA вітають всіх наших читачів та авторів зі світлим святом Різдва! Зичимо всім українцям довгожданого миру, міцного здоровʼя, злагоди, родинного затишку та втілення всього доброго і прекрасного, чого вам побажали колядники!

    Теми цього довгочиту:

    Різдво
  • Каблучки – прикраси, які варто купувати

    Ювелірні вироби – це не тільки спосіб витратити гроші, але і зробити вигідні інвестиції. Бо вартість ювелірних виробів з кожним роком тільки зростає. Тому купуючи стильні прикраси, ви вигідно вкладаєте кошти.

    Теми цього довгочиту:

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

    Навіть ідеальний матрац не компенсує дискомфорт, якщо текстиль підібрано неправильно. Постільна білизна безпосередньо впливає на терморегуляцію, стан шкіри та глибину сну. Більшість проблем виникає не через низьку якість виробів, а через вибір матеріалів та подальшу експлуатацію

    Теми цього довгочиту:

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

    Теми цього довгочиту:

    Агентство Нерухомості
  • Як заохотити дитину до читання?

    Як залучити до читання сучасну молодь - поради та факти. Користь читання для дітей - основні переваги. Розвиток дітей - це наше майбутнє.

    Теми цього довгочиту:

    Читання
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
БК
Богдан Карпов@bohdan_karpov

186Прочитань
2Автори
1Читачі
На Друкарні з 2 травня

Це також може зацікавити:

Коментарі (2)

Дякую за цікавий довгочит! Завжди було цікаво як так воно перевіряє на правильність, ще й миттєво

Це також може зацікавити: