Открыть сервис

Контрольная цифра

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

История

Идея использования контрольных сумм для проверки данных восходит к ранним этапам развития вычислительной техники и телекоммуникаций. Одним из первых массовых применений контрольной цифры стало введение в 1960-х годах стандарта ISBN (International Standard Book Number) для книг. В СССР и России контрольные цифры начали активно использоваться с внедрением автоматизированных систем обработки данных, в частности в банковской сфере и при кодировании товаров.

С развитием электронных платежей и цифровой идентификации в 1990-2000-х годах алгоритмы вычисления контрольных цифр стали обязательным элементом для банковских счетов, кредитных карт, ИНН, СНИЛС и других идентификаторов. В России требования к контрольным цифрам регулируются стандартами Центрального банка РФ, Министерства финансов и другими ведомствами.

Алгоритмы вычисления

Существует множество алгоритмов для расчёта контрольной цифры, различающихся по сложности, надёжности и области применения. Наиболее распространённые из них включают:

Алгоритм Луна (Luhn)

Разработан в 1954 году Гансом Петером Луном. Используется для проверки номеров кредитных карт (Visa, Mastercard), IMEI-кодов и некоторых других идентификаторов. Алгоритм основан на удвоении каждой второй цифры и суммировании полученных значений. Контрольная цифра подбирается так, чтобы общая сумма делилась на 10.

Модуль 11 (ISO 7064)

Широко применяется в России для расчёта контрольных цифр в ИНН, КПП, ОГРН, СНИЛС и банковских счетах. Вычисления выполняются с использованием весовых коэффициентов (обычно от 2 до 10 или от 1 до 9). Полученная сумма делится на 11, и контрольная цифра определяется как остаток от деления. Если остаток равен 10, используется дополнительный расчёт с другими весами.

Модуль 10 (ISO 7064)

Более простой вариант, где сумма цифр с весами делится на 10. Применяется для штрихкодов EAN-13, UPC и некоторых других систем.

Алгоритм Верхоффа (Verhoeff)

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

Применение в России

ИНН (Идентификационный номер налогоплательщика)

Для физических лиц ИНН состоит из 12 цифр, где последние две — контрольные. Расчёт выполняется по модулю 11: первая контрольная цифра вычисляется по первым 10 цифрам, вторая — по первым 11. Для юридических лиц ИНН содержит 10 цифр с одной контрольной цифрой.

СНИЛС (Страховой номер индивидуального лицевого счёта)

Номер состоит из 11 цифр: первые 9 — собственно номер, последние две — контрольное число. Контрольная цифра вычисляется по модулю 101: сумма произведений каждой из первых 9 цифр на весовые коэффициенты (от 9 до 1) делится на 101. Если остаток меньше 100, он и является контрольным числом; если равен 100, контрольное число — 00.

Банковские счета

Номер банковского счёта (20 цифр) содержит контрольную цифру, вычисляемую по специальному алгоритму Центрального банка РФ. Она позволяет проверить корректность номера счёта при переводах и платежах. Аналогично, БИК (Банковский идентификационный код) и корреспондентские счета имеют свои контрольные цифры.

ОГРН и ОГРНИП

Основной государственный регистрационный номер (ОГРН) для юридических лиц состоит из 13 цифр, последняя из которых — контрольная. Для индивидуальных предпринимателей (ОГРНИП) — 15 цифр, последняя также контрольная. Расчёт выполняется по модулю 11 с использованием весов.

Штрихкоды

В России товары маркируются штрихкодами EAN-13, где последняя цифра — контрольная. Она вычисляется по алгоритму модуля 10: сумма чётных и нечётных цифр с весовыми коэффициентами (1 и 3) делится на 10, и контрольная цифра дополняет результат до ближайшего кратного 10.

Классификация

По способу вычисления контрольные цифры делятся на:

По области применения:

Значение и преимущества

Использование контрольных цифр позволяет:

Критика и ограничения

Несмотря на широкое распространение, контрольные цифры имеют недостатки:

Примеры

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →