Luhnin algoritmi

Wikipediasta
Siirry navigaatioon Siirry hakuun

Luhnin algoritmi on yksinkertainen tarkistussumman laskemiseen käytetty kaava, jota käytetään varmistamaan erilaisia tunnistenumeroita kuten luottokortti- ja IMEI-numeroita. Algoritmin loi IBM:n tutkija Hans Peter Luhn, joka jätti patenttihakemuksen algoritmista 6. tammikuuta 1954. Patentti myönnettiin 23. elokuuta 1960.

Algoritmi on public domainia, ja sitä käytetään tunnistamaan tahattomat numerosarjassa olevat virheet; algoritmia ei ole suunniteltu suojaamaan tahallista hyökkäystä vastaan.

Tarkistusnumeron laskeminen

[muokkaa | muokkaa wikitekstiä]

Algoritmi varmistaa numeronsarjan oikeellisuuden erityisen tarkistusnumeron avulla. Yleensä tarkistusnumero liitetään varsinaisen numerojonon perään, jolloin ne yhdessä muodostavat halutun numerosarjan.

Tarkistusnumero lasketaan seuraavasti:

  1. Alkaen oikealta vasemmalle, kerrotaan järjestyksessä parittomat luvut kahdella ja parilliset yhdellä
  2. Summataan saatujen tulojen yksittäiset numerot yhteen (16 => 1 + 6 = 7)
  3. Tarkistusnumero on kokonaisluku, joka pitää lisätä saatuun summaan, jotta se olisi tasan kymmenellä jaollinen
Numerosarja 2 6 0 5 3 1 7 9 3 1 1 3 8 3
Kerroin x2 x2 x2 x2 x2 x2 x2
Tulo 2 12 0 10 3 2 7 18 3 2 1 6 8 6
Summaus 2+ 1+2+ 0+ 1+0+ 3+ 2+ 7+ 1+8+ 3+ 2+ 1+ 6+ 8+ 6 =53

Tässä tapauksessa tarkistusnumero on seitsemän ja koko numerosarja 260531793113837.

Numerosarjan tarkistaminen

[muokkaa | muokkaa wikitekstiä]

Annettu numerosarja tarkistetaan seuraavasti:

  1. Alkaen oikealta vasemmalle, kerrotaan järjestyksessä parittomat luvut yhdellä ja parilliset kahdella
  2. Summataan saatujen tulojen yksittäiset numerot yhteen (16 => 1 + 6 = 7)
  3. Jos saatu summa on tasan jaollinen kymmenellä, numerosarja on todennäköisesti virheetön
Numerosarja 2 6 0 5 3 1 7 9 3 1 1 3 8 3 7
Kerroin x2 x2 x2 x2 x2 x2 x2
Tulo 2 12 0 10 3 2 7 18 3 2 1 6 8 6 7
Summaus 2+ 1+2+ 0+ 1+0+ 3+ 2+ 7+ 1+8+ 3+ 2+ 1+ 6+ 8+ 6+ 7 =60

Aiheesta muualla

[muokkaa | muokkaa wikitekstiä]
Käännös suomeksi
Käännös suomeksi
Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.