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

Между тем, способ избавиться от этой проблемы прост. Он используется для создания любого банковского счета (кстати Yandex Money тоже его использует). Всего-то и нужно добавить к лицевому счёту контрольное число. Теперь при вводе данных проверяя контрольное число, мы сократим число ошибок при наборе. Конечно полностью мы себя не обезопасим, но вероятность ошибки понизится.

Пример: проверка правильности десяти-значного ИНН:
1. Вычисляется контрольная сумма со следующими весовыми коэффициентами: (2,4,10,3,5,9,4,6,8,0)
2. Вычисляется контрольное число как остаток от деления контрольной суммы на 11
3. Если контрольное число больше 9, то контрольное число вычисляется как ��статок от деления контрольного числа на 10
4. Контрольное число проверяется с десятым знаком ИНН. В случае их равенства ИНН считается правильным.

Ещё примеры