Luhn-algoritmens kontrollverktyg

Luhn validerar bara kontrollsiffran, inte att kortet är aktivt.

Luhn-algoritmen (ISO/IEC 7812-1) är den kontrollsumma som skyddar kreditkortsnummer, IMEI-enhetsidentifierare, kanadensiska SIN:er, amerikanska NPI:er och en handfull andra nummersystem mot ensiffriga skrivfel. Klistra in en siffersträng – blanksteg och bindestreck ignoreras – så visar kontrollverktyget om numret är giltigt och går igenom fördubblings- och summeringsstegen, så att du kan kontrollera det för hand om du vill.

Hur Luhn-kontrollen beräknas

  1. 1

    Ta bort icke-siffror

    Blanksteg, bindestreck och punkter tas bort. Endast siffrorna 0–9 räknas.

  2. 2

    Fördubbla varannan siffra från höger

    Från den näst sista siffran börjar varje annan siffra att fördubblas.

  3. 3

    summera siffrorna i varje fördubblade värde

    Om fördubbling ger 14, lägg till 1 + 4 = 5. Det motsvarar att subtrahera 9 från varje dubbelvärde som är minst 10.

  4. 4

    Sammanlagda resultatvärden

    Lägg till de fördubbla och minskade siffrorna samt de oförändrade siffrorna.

  5. 5

    Kontrollera om det är delbart med 10

    Om summan slutar på 0 gäller talen; annars är det ogiltigt.

Exempel med praktisk tillämpning

Granska 4539 1488 0343 6467:

Pos (höger→vänster) Siffran Dubblat? Värdet
1 7 nej 7
2 6 ja 12 → 3
3 4 nej 4
4 6 ja 12 → 3
5 3 nej 3
6 4 ja 8
7 3 nej 3
8 0 ja 0
9 8 nej 8
10 8 ja 16 → 7
11 4 nej 4
12 1 ja 2
13 9 nej 9
14 3 ja 6
15 5 nej 5
16 4 ja 8

Totalt: 80. 80 mod 10 = 0 → giltigt.

Där Luhn används

System Längd Skyddat av Luhn?
Visa, Mastercard, Discover 13–19 siffror ja
American Express 15 siffror ja
IMEI (ID för GSM-enhet) 15 siffror ja
Kanadensisk socialförsäkring 9 siffror ja
USA:s nationella tillhandahållareidentifierare 10 siffror ja
Israelisk ID (Teudat Zehut) 9 siffror ja
ISBN-13 13 siffror nej (använder mod 10 med vikterna 1 och 3)

Vad Luhn upptäcker och missar

  • Detekterar: alla fel med en ensiffrig värde, samt de flesta (men inte alla) transpositioner av intilliggande siffror.
  • Missar: transpositionen 09 ↔ 90 samt flera liknande par. Det är en stavningskontroll, inte en säkerhetskontroll.
  • Inte en säkerhetsfunktion. Ett Luhn-validt nummer är lätt att generera. Validering av PAN vid betalningsportaler använder utgivarens intervall, CVV, AVS och 3-D Secure – inte bara Luhn.

Vanliga frågor

Nej. Luhn verifierar endast att numret är matematiskt korrekt formaterat. Det säger ingenting om huruvida kortet har utfärdats, innehåller medel eller har stulits. Den faktiska valideringen sker hos utfärdaren vid autorisationen.

Ja – den sista siffran är kontrollsiffran och kan alltid väljas så att summan blir delbar med 10. Det är så IMEI-generatorer och testkortnummer fungerar.

Det upptäcker varje enskild siffersubstitution och de flesta omkastningar av intilliggande siffror, men ett fåtal par (t.ex. 09 ↔ 90) lämnar kontrollsumman oförändrad. Mer robusta metoder (ISBN-13, Verhoeff, Damm) byter komplexitet mot bredare feltäckning.

Kontrollverktyget körs helt i din webbläsare, så inget överförs – men att klistra in riktiga PAN-uppgifter någonstans där det inte behövs är en dålig vana. Använd testnummer (t.ex. 4242 4242 4242 4242) när du experimenterar.

Luhn kan användas för alla längder, men är standardiserad för specifika scheman (vanligtvis 9–19 siffror). Systemet har ingen gräns för längden.

Relaterade verktyg

Verktyget finns på andra språk