Tarkista numerosarjan oikeellisuus Luhnin algoritmilla tai laske puuttuva tarkistusnumero – sama menetelmä on käytössä esimerkiksi maksukorttien numeroissa.
Toiminto
Numerosarja
Kirjoita pelkät numerot. Välilyönnit ja väliviivat jätetään huomiotta. Tarkistustilassa anna koko sarja, laskentatilassa sarja ilman viimeistä numeroa.
Esimerkit:
Tulokset
Luhnin algoritmi – tarkistusnumero ja validointi
Luhnin algoritmi on yleinen mod 10 -tarkistussumma, jolla havaitaan numerosarjojen tavallisimmat näppäilyvirheet. Tämä laskuri tarkistaa, läpäiseekö annettu numerosarja Luhn-tarkistuksen, ja osaa myös laskea puuttuvan tarkistusnumeron. Samaa menetelmää käytetään muun muassa maksukorttien numeroissa ja IMEI-koodeissa.
Mihin Luhnin algoritmi perustuu?
Algoritmi lisää numerosarjan loppuun tarkistusnumeron, joka valitaan niin, että painotettu numeroiden summa on jaollinen 10:llä. Kun sarja myöhemmin syötetään, sama lasku toistetaan: jos summa ei mene tasan kymmenellä, jokin numero on muuttunut.
Sarja on kelvollinen, jos painotettu summa mod 10 = 0
Laskennan vaiheet
Numerot käsitellään oikealta vasemmalle:
Aloita tarkistusnumerosta ja etene vasemmalle.
Kerro joka toinen numero (toinen, neljäs, kuudes oikealta) kahdella.
Jos kaksinkertaistettu luku on suurempi kuin 9, vähennä siitä 9 (sama kuin laskea sen numerot yhteen).
Laske kaikki numerot yhteen.
Jos summa on jaollinen 10:llä, sarja läpäisee tarkistuksen.
Vaiheittainen esimerkki
Tarkistetaan numerosarja 7992739871 3, jossa viimeinen numero 3 on tarkistusnumero.
Kaksinkertaistetaan joka toinen numero oikealta (tarkistusnumeroa edeltävästä alkaen) ja vähennetään tarvittaessa 9.
Kun kaikki numerot lasketaan yhteen, summaksi tulee 70.
70 mod 10 = 0, joten sarja läpäisee tarkistuksen ja tarkistusnumero 3 on oikea.
Jos jokin numero olisi syötetty väärin, summa ei enää menisi tasan kymmenellä ja laskuri ilmoittaisi virheestä.
Tarkistusnumeron laskeminen
Kun sinulla on numerosarja ilman tarkistusnumeroa, oikea tarkistusnumero saadaan laskemalla painotettu summa ja valitsemalla numero, joka täydentää sen seuraavaan kymmeneen:
tarkistusnumero = (10 − (summa mod 10)) mod 10
Tässä summa lasketaan kuin tarkistusnumero olisi jo paikallaan, eli kaksinkertaistaminen alkaa sarjan oikeanpuoleisimmasta numerosta.
Mitä virheitä Luhn havaitsee?
Yksittäinen väärä numero: kaikki yhden numeron virheet paljastuvat.
Vierekkäisten numeroiden vaihtuminen: lähes kaikki tällaiset näppäilyvirheet havaitaan (poikkeuksena pari 0 ja 9).
Rajat: algoritmi ei suojaa tahalliselta väärentämiseltä, vaan se on tarkoitettu vain vahinkojen havaitsemiseen.
Mihin Luhnia käytetään?
Luhnin algoritmi on käytössä maksukorttien numeroiden viimeisenä tarkistusnumerona, jolloin selvästi virheellinen kortinnumero voidaan hylätä jo ennen tiedonsiirtoa. Sitä käytetään myös matkapuhelinten IMEI-tunnuksissa ja useissa muissa kansainvälisissä numerointijärjestelmissä. Yksinkertaisuutensa ansiosta tarkistus voidaan tehdä nopeasti jopa käsin.
Usein kysytyt kysymykset
Mikä on Luhnin algoritmi?
Luhnin algoritmi on yksinkertainen tarkistussummakaava, jolla havaitaan numerosarjoissa tavallisimmat näppäilyvirheet. Se tunnetaan myös nimellä mod 10 -algoritmi. Menetelmä ei suojaa väärentämiseltä, vaan sen tarkoitus on huomata vahingossa syntyneet virheet, kuten yksi väärä numero tai kahden vierekkäisen numeron vaihtuminen.
Miten Luhn-tarkistus lasketaan?
Numerot käydään läpi oikealta vasemmalle. Joka toinen numero (tarkistusnumerosta laskettuna toinen, neljäs ja niin edelleen) kerrotaan kahdella; jos tulo on suurempi kuin 9, siitä vähennetään 9. Kaikki numerot lasketaan yhteen, ja jos kokonaissumma on jaollinen 10:llä, sarja on kelvollinen.
Mihin Luhnin algoritmia käytetään?
Luhnin algoritmi on käytössä esimerkiksi maksukorttien numeroiden viimeisenä tarkistusnumerona, matkapuhelinten IMEI-koodeissa ja monissa kansainvälisissä tunnisteissa. Se mahdollistaa virheen havaitsemisen heti syöttövaiheessa ennen kuin numeroa lähetetään eteenpäin.
Käytetäänkö Luhnia suomalaisessa viitenumerossa?
Suomalaisen pankkiviitteen tarkistusnumero lasketaan eri menetelmällä, jossa numeroita painotetaan kertoimilla 7, 3 ja 1. Se ei siis ole Luhnin algoritmi. Luhn on kuitenkin laajasti käytetty maksukorttialalla ja monissa kansainvälisissä tunnisteissa, joten se on hyödyllinen yleinen tarkistustyökalu.
Mikä on tarkistusnumero?
Tarkistusnumero on numerosarjan loppuun lisätty numero, joka lasketaan muiden numeroiden perusteella. Sen tehtävä on varmistaa, että sarja on syötetty oikein: jos jokin numero muuttuu, tarkistusnumero ei enää täsmää ja virhe paljastuu. Luhnin algoritmissa tarkistusnumero valitaan niin, että kokonaissummasta tulee jaollinen 10:llä.