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
Ta bort icke-siffror
Blanksteg, bindestreck och punkter tas bort. Endast siffrorna 0–9 räknas.
-
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
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
Sammanlagda resultatvärden
Lägg till de fördubbla och minskade siffrorna samt de oförändrade siffrorna.
-
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
Webpack-konfigurationsgenerator
Skapa en webpack.config.js för webpack 5 med vanlig JavaScript, React eller Vue: TypeScript, Babel, CSS eller Sass, bilder, HtmlWebpackPlugin, en utvecklingsserver och raden för npm install.
Protocol Buffers-avkodare
Avkoda Protobuf-byte lokalt från hex, Base64, Base64URL, text eller fil, granska fälttolkningar och exportera en privat rapport.
XSD-validerare
Validera ett XML-dokument mot ett XSD-schema och rapportera element- och typavvikelser med exakta radnummer.
YAML till JSON
Omvandla YAML-konfiguration till JSON för verktyg och API:er som bara accepterar JSON. Hanterar ankare, merge-nycklar och nästlade strukturer.
XML-formaterare
Snygga till XML-dokument med konsekvent indrag och fånga formfel med exakta radnummer.
Generator för platshållarbilder
Skapa en bild på 1–4000 px med egna färger och text, ladda ned PNG eller kopiera webbadress och HTML.
Verktyget finns på andra språk
- Pemeriksa Algoritma Luhn [ID]
- أداة فحص خوارزمية Luhn [AR]
- Verificador del Algoritmo de Luhn [ES]
- Luhn-Algorithmus-Prüfer [DE]
- Trình kiểm tra thuật toán Luhn [VI]
- Luhnアルゴリズムチェッカー [JA]
- Luhn-algoritme-checker [NL]
- Luhn 알고리즘 검사기 [KO]
- Validador do Algoritmo de Luhn [PT]
- Vérificateur d'algorithme de Luhn [FR]
- Walidator algorytmu Luhna [PL]
- เครื่องตรวจสอบอัลกอริทึมของ Luhn [TH]
- Luhn Algoritma Kontrolcüsü [TR]
- Luhn 算法校验工具 [ZH]
- Luhn Algorithm Checker [EN]
- Controllore dell'Algoritmo di Luhn [IT]
- Проверка по алгоритму Луна [RU]