Obsah:
Definícia - Čo znamená Luhn Formula?
Luhnov vzorec je jednoduchý vzorec kontrolného súčtu, ktorý sa používa pri overovaní rôznych identifikačných čísel, ako sú čísla kreditných kariet, čísla sociálneho zabezpečenia, čísla IMEI a mnoho ďalších. Algoritmus overuje číslo oproti zahrnutej kontrolnej číslici v samotnom čísle, zvyčajne poslednej číslici. Luhnova vzorec je teraz verejným majetkom a je široko používaný v rôznych priemyselných odvetviach a je špecifikovaný v ISO / IEC 7812-1.
Luhnov vzorec je známy aj ako Luhnov algoritmus, modulus 10 alebo algoritmus mod 10.
Techopedia vysvetľuje Luhn Formula
Luhnovu formule navrhol Hans Peter Luhn, vedec IBM, ktorý podal patent na túto formuláciu v roku 1954, ktorý bol udelený v roku 1960. Vzorec nebol navrhnutý ako kryptograficky bezpečná hashova funkcia, ale skôr ako jednoduchý spôsob chrániť pred náhodnými chybami pri vytváraní jedinečných identifikačných čísel. Mnoho vládnych agentúr a súkromných inštitúcií použilo vzorec na rozlíšenie platných čísel od chybných, nesprávnych alebo jednoducho podvodných čísel.
Vzorec sa používa na overenie série čísel kontrolou správnosti zahrnutej kontrolnej číslice. Táto kontrolná číslica sa zvyčajne pripája k čiastkovému číslu, aby sa vyplnilo.
Nasledujúcim procesom je vygenerovanie kontrolnej číslice:
- Počnúc od úplne pravej číslice zdvojnásobte hodnotu každej druhej číslice.
- Ak je výsledný produkt z prvého kroku nad 9, pridajte dve číslice (napr. 5 × 3 = 15, 1 + 5 = 6). Ak je výsledok 9 alebo menej, číslo si ponechajte.
- Vezmite súčet všetkých číslic.
- Vynásobte sumu 9 a vezmite „modulo 10“ súčtu; výsledkom je kontrolná číslica.
Príklad: Číslo série 927638965
9 |
2 |
7 |
6 |
3 |
8 |
9 |
6 |
5 je kontrolná číslica |
9 |
4 |
7 |
12 |
3 |
16 |
9 |
12 |
|
9 |
4 |
7 |
3 |
3 |
7 |
9 |
3 |
súčet = 45; 45 × 9 = 405 (mod 10) = 5 |
Ak chcete skontrolovať, či je číslo platné, jednoducho postupujte podľa algoritmu vylučujúceho kontrolnú číslicu, a ak sa získa rovnaký výsledok ako kontrolná číslica, potom je číslo platné podľa Luhnovho vzorca. Tento algoritmus však nie je príliš spoľahlivý a dokáže zistiť iba jednociferné chyby a transpozície susedných čísel, s výnimkou transpozície dvojcifernej sekvencie 09 až 90. Komplikovanejšie algoritmy ako Verhoeffov algoritmus a Dammov algoritmus sú však schopné na detekciu ďalších chýb pri prepise.
