Съдържание:
Определение - Какво означава Luhn Formula?
Формулата на Luhn е проста формула за контролна сума, която се използва при валидирането на различни идентификационни номера като номера на кредитни карти, социалноосигурителни номера, IMEI номера и много други. Алгоритъмът потвърждава числото спрямо включена контролна цифра в самото число, обикновено последната цифра. Формулата на Luhn вече е обществено достояние и се използва широко в различни индустрии и е уточнена в ISO / IEC 7812-1.
Формулата на Лун е известна още като алгоритъм на Лун, модул 10 алгоритъм или мод 10 алгоритъм.
Техопедия обяснява Лун Формула
Формулата на Лун е разработена от Ханс Петер Лун, учен от IBM, който подаде патент за формулата през 1954 г., който е предоставен през 1960 г. Формулата не е проектирана да бъде криптографски сигурна хеш функция, а по-скоро като прост начин да защита от случайни грешки при създаването на уникални идентификационни номера. Много държавни агенции и частни институции използваха формулата за разграничаване на валидни номера от неправилно въведени, неправилни или просто измамни номера.
Формулата се използва за проверка на серия от числа, като се провери дали включената контролна цифра е правилна. Тази контролна цифра обикновено е прикрепена към частичен номер, за да се попълни.
Следният процес е генерирането на контролната цифра:
- Започвайки от най-дясната цифра, удвоете стойността на всяка втора цифра.
- Ако полученият продукт от първата стъпка е над 9, добавете двете цифри (например, 5 × 3 = 15, 1 + 5 = 6). Ако резултатът е 9 или по-малко, запазете номера.
- Вземете сумата от всички цифри.
- Умножете сумата с 9 и вземете "модул 10" от сумата; резултатът е контролната цифра.
Пример: Числова серия 927638965
9 |
2 |
7 |
6 |
3 |
8 |
9 |
6 |
5 е контролната цифра |
9 |
4 |
7 |
12 |
3 |
16 |
9 |
12 |
|
9 |
4 |
7 |
3 |
3 |
7 |
9 |
3 |
сума = 45; 45 × 9 = 405 (мод 10) = 5 |
За да проверите дали числото е валидно, просто следвайте алгоритъма, изключващ контролната цифра, и ако се получи същия резултат като контролната цифра, тогава числото е валидно според формулата на Luhn. Този алгоритъм обаче не е много надежден и може да открива само едноцифрени грешки и транспониране на съседни числа, с изключение на транспонирането на двуцифрената последователност от 09 до 90. По-сложни алгоритми като алгоритъмът на Верхоф и алгоритъмът на Дам са в състояние за откриване на повече грешки в транскрипцията.