Luhn algoritmus, známý také jako modul 10 nebo mod 10 algoritmus je jednoduchý kontrolní součet vzorec použitý k ověření různých identifikačních čísel, například čísla kreditních karet, čísla IMEI, Kanadské Čísla Sociálního Pojištění. Luhnova formule byla vytvořena koncem 60. let skupinou matematiků. Krátce poté ji přijaly společnosti vydávající kreditní karty. Protože algoritmus je ve veřejné doméně, může jej použít kdokoli., Většina kreditních karet a mnoho vládních identifikačních čísel používá algoritmus jako jednoduchý způsob rozlišování platných čísel od chybně nebo jinak nesprávných čísel. Byl navržen tak, aby chránil před náhodnými chybami, nikoli škodlivými útoky.
kroky zapojené do Luhnova algoritmu
pojďme pochopit algoritmus příkladem:
zvažte příklad čísla účtu „79927398713“.
Krok 1-počínaje pravou číslicí zdvojnásobte hodnotu každé druhé číslice,
Krok 3-nyní vezměte součet všech číslic.,
Krok 4-pokud se celkový modulo 10 rovná 0 (pokud součet končí nulou), pak je číslo platné podle Luhnova vzorce; jinak není platné.
protože součet je 70, což je násobek 10, proto je číslo účtu pravděpodobně platné.
myšlenka je jednoduchá, procházíme od konce. Pro každou druhou číslici ji před přidáním zdvojnásobíme. Přidáme dvě číslice čísla získaného po zdvojnásobení.
Výstup:
This is a valid card
Luhn algoritmus detekuje single-místné chyba, stejně jako téměř všechny transpozic sousedních číslic.,
zdroj:
k tomuto článku přispívá Vishal Kumar Gupta. Pokud se vám líbí GeeksforGeeks a chtěli byste přispět, můžete také napsat článek pomocí contribute.geeksforgeeks.org nebo napište svůj článek na [email protected]. Viz váš článek se objeví na GeeksforGeeks hlavní stránce a pomoci jiných Mágů.
napište prosím komentáře, pokud zjistíte něco nesprávného, nebo chcete sdílet více informací o tématu diskutovaném výše.
čtenář pozornosti! Nepřestávej se učit., Sehnat všech důležitých konceptů DSA s DSA vlastním tempem kurzu za student-friendly cenu a stát se průmysl připraven.