LUHN formula



LUHN’i valem Algoritm krediitkaardinumbrite genereerimiseks ning nende kehtivuse kontrollimiseks. Tuntakse ka nimetuse “modulus 10” või “Mod 10” all.. Esimesed numbrikohad näitavad kaardi tüüpi (Visa, MasterCard, American Express jne), keskmised identifitseerivat panka ja kaardi omanikku ning viimane numbrikoht on nn. kontrollnumber. Kontrollnumbri genereerimseks rakendatakse kaardinumbrile LUHN’i valemit. Krediitkaardinumbri kehtivuse kontrollimiseks pannakse kontrollnumber valemisse ja vaadatakse, kas tulemus klapib. Seda tehakse järgmiselt:
1. Alustades eelviimasest (paremalt teisest) numbrikohast võetakse iga teine number ja korrutatakse kahega
2. Eelmises punktis saadud tulemused liidetakse kokku ja liidetakse juurde kõik kahega korrutamisest puutumata jäänud numbrid. Kui korrutamisel saadi tulemuseks kahekohaline arv, siis liidetakse kõigepealt need kaks numbrikohta omavahel (näit. kui number oli 9, siis 2x9=18 ja 1+8=9), s.t. üldsummasse läheb sel juhul 9, mitte 18
3. Kehtiva krediitkaardinumbri puhul peab eelmises punktis saadud summa lõppema nulliga Peale krediitkaardinumbrite kasutatakse LUHN’i algoritmi ka näiteks Eesti Haigekassa liikmekaartide puhul ja muudel juhtudel, kui vajatakse unikaalseid arve- või identifitseerimisnumbreid