Калькулятор алгоритма Луна

Проверяйте последовательности цифр по контрольной сумме Луна Mod 10, используемой во многих номерах карт и идентификаторах.

Проверка номера
Введите только цифры, включая последнюю контрольную цифру.

Об алгоритме Луна

Алгоритм Луна — простая формула контрольной суммы для выявления типичных ошибок в строках цифр. Его также называют алгоритмом Mod 10, поскольку у корректной последовательности преобразованная сумма делится на десять. Наиболее известное применение — номера кредитных карт, но метод также встречается в идентификаторах устройств IMEI, национальных системах идентификации, членских номерах и других структурированных кодах. Калькулятор проверяет только математическую согласованность: он не связывается с эмитентом и не подтверждает существование счёта. Проверка начинается с крайней правой цифры, которая считается контрольной. При движении справа налево каждая вторая цифра удваивается. Если результат больше девяти, из него вычитается девять; это равносильно сложению двух цифр удвоенного значения. Цифры на чередующихся позициях остаются без изменений. Все преобразованные значения складываются. Если при делении суммы на десять остаток равен нулю, полный номер проходит проверку Луна. Например, изменение одной цифры обычно меняет остаток контрольной суммы и делает последовательность некорректной. Метод также обнаруживает большинство перестановок соседних цифр, охватывая многие опечатки. Однако это не криптографический хеш. Разные ошибочные последовательности могут иметь одинаковый остаток, а корректную контрольную цифру может намеренно подобрать кто угодно. Поэтому проверка Луна подходит для первичного контроля качества данных, но не служит доказательством личности, полномочий, подлинности или наличия средств. Калькулятор обрабатывает цифры локально в браузере. Введите весь номер с имеющейся последней контрольной цифрой и нажмите «Проверить номер». Результат укажет, делится ли преобразованная сумма на десять, и покажет остаток. Остаток от одного до девяти означает, что номер не удовлетворяет условию контрольной суммы. В примерах используются опубликованные тестовые последовательности, а не данные реальных счетов. Не вводите конфиденциальные реальные финансовые данные, если достаточно искусственного тестового номера. Хотя эта реализация не выполняет сетевых запросов, хорошая практика безопасности — минимизировать раскрытие идентификаторов счетов. Разработчики могут проверять валидацию форм, службы поддержки — искать ошибки переноса на обезличенных примерах, а учащиеся — разбирать арифметику взвешенных контрольных сумм. Успешная проверка означает лишь соответствие формуле Луна; после неё нужны надлежащие безопасные бизнес-проверки.

Примеры алгоритма Луна

НомерРезультатПояснение
4532015112830366КорректныйСумма преобразованных цифр даёт нулевой остаток.
4532015112830367НекорректныйПосле изменения последней цифры остаток контрольной суммы равен единице.
79927398713КорректныйЭта классическая демонстрационная последовательность удовлетворяет Mod 10.
79927398714НекорректныйИзменённая контрольная цифра больше не завершает контрольную сумму.

Как проверить номер по алгоритму Луна

  1. Введите полную последовательность, включая последнюю контрольную цифру.
  2. Убедитесь, что введены только цифры без пробелов и знаков препинания.
  3. Нажмите «Проверить номер», чтобы удвоить чередующиеся цифры справа.
  4. Прочитайте сообщение о корректности и остаток контрольной суммы.

Частые вопросы об алгоритме Луна

Что доказывает успешная проверка Луна?

Только то, что последовательность цифр удовлетворяет контрольной сумме Mod 10. Она не доказывает существование счёта, его активность или принадлежность кому-либо.

Какая цифра является контрольной?

В полной последовательности, защищённой алгоритмом Луна, это обычно крайняя правая цифра. Включайте её при использовании этого инструмента.

Какие ошибки обнаруживает алгоритм Луна?

Он обнаруживает все замены одной цифры и большинство перестановок соседних цифр. Не все возможные изменения нескольких цифр можно обнаружить.

Лун — это алгоритм безопасности или шифрования?

Нет, это открытая формула обнаружения ошибок, не обеспечивающая секретности или аутентификации. Защищённые системы должны отдельно проверять полномочия и данные эмитента.

Можно ли проверять номера с пробелами или дефисами?

Калькулятор намеренно принимает только цифры, чтобы ввод был однозначным. Перед проверкой удалите символы форматирования.