Gültige Kreditkarten verstehen: Aufbau und Validierung
Ein umfassender Leitfaden zum Aufbau von Kreditkartennummern, ihrer Validierung mithilfe des Luhn-Algorithmus und der Bedeutung gültiger Kreditkarten bei sicheren Transaktionen.
Kreditkarten sind ein unverzichtbarer Bestandteil des modernen Handels – aber haben Sie sich jemals gefragt, was eine Kreditkartennummer eigentlich gültig macht? Es handelt sich dabei nicht um eine zufällige Zahlenfolge. Jede Kreditkartennummer folgt einem bestimmten Aufbau und muss einen mathematischen Validierungstest bestehen.
Zu verstehen, wie gültige Kreditkarten funktionieren, ist wichtig für Entwickler, die E-Commerce-Anwendungen erstellen, für Sicherheitsexperten und für Verbraucher, die sich dafür interessieren, wie ihre Finanzdaten strukturiert sind.
Der Aufbau einer Kreditkartennummer
Eine typische Kreditkartennummer wird technisch als Primary Account Number (PAN) bezeichnet. Sie besteht in der Regel aus 13 bis 19 Ziffern, wobei 16 die häufigste Länge ist (verwendet von Visa, Mastercard und Discover).
Die Nummer gliedert sich in drei Hauptbereiche:
1. Major Industry Identifier (MII) und Issuer Identification Number (IIN)
Die allererste Ziffer einer Kreditkartennummer ist der Major Industry Identifier (MII). Er gibt die Branche des Kartenausstellers an:
- 1 und 2: Fluggesellschaften
- 3: Reise und Unterhaltung (z. B. American Express beginnt mit 34 oder 37)
- 4: Bank- und Finanzwesen (Visa)
- 5: Bank- und Finanzwesen (Mastercard)
- 6: Handel und Banking (Discover)
- 7: Mineralöl
- 8: Telekommunikation
- 9: Nationale Zuweisung
Die ersten sechs Ziffern (einschließlich des MII) bilden die Issuer Identification Number (IIN), die früher als Bank Identification Number (BIN) bekannt war. Dieser Abschnitt identifiziert das spezifische Institut, das die Karte ausgestellt hat.
2. Individueller Kontoidentifikator
Nach der IIN bilden die verbleibenden Ziffern – mit Ausnahme der allerletzten – den individuellen Kontoidentifikator. Diese Sequenz wird von der ausstellenden Bank vergeben, um das Konto des Karteninhabers eindeutig zu identifizieren. Sie kann bis zu 12 Stellen lang sein.
3. Die Prüfziffer
Die letzte Ziffer der Kreditkartennummer ist die Prüfziffer. Sie wird auf Basis aller vorhergehenden Ziffern nach einer bestimmten Formel berechnet – dem sogenannten Luhn-Algorithmus. Diese Ziffer ist entscheidend für die grundlegende Validierung.
Wie der Luhn-Algorithmus funktioniert
Der Luhn-Algorithmus (auch bekannt als „Modulus 10"- oder „Mod 10"-Algorithmus) ist eine einfache Prüfsummenformel zur Validierung verschiedener Identifikationsnummern, wie etwa Kreditkartennummern, IMEI-Nummern und National Provider Identifier-Nummern.
Er wurde entwickelt, um versehentliche Fehler zu erkennen – etwa eine falsch eingetippte Zahl oder zwei vertauschte Ziffern – und nicht um böswillige Angriffe abzuwehren.
So validiert der Algorithmus eine Kreditkartennummer:
- Von rechts beginnen: Ausgehend von der vorletzten Ziffer nach links wird jede zweite Ziffer verdoppelt.
- Doppelte Ziffern behandeln: Ergibt die Verdopplung einer Ziffer eine Zahl größer als 9 (z. B. 6 × 2 = 12), werden die Ziffern des Ergebnisses addiert (z. B. 1 + 2 = 3).
- Alle Ziffern addieren: Alle Ziffern werden summiert – die verdoppelten (und gegebenenfalls reduzierten) sowie die unverändert gebliebenen (einschließlich der abschließenden Prüfziffer).
- Gesamtsumme prüfen: Ist die Gesamtsumme ein Vielfaches von 10 (d. h. endet auf 0), ist die Kreditkartennummer strukturell gültig. Andernfalls ist sie ungültig.
Beispielvalidierung
Testen wir eine hypothetische Nummer: 49927398716
- Jede zweite Ziffer von rechts verdoppeln:
- 1 -> 2
- 8 -> 16 (1+6=7)
- 3 -> 6
- 2 -> 4
- 9 -> 18 (1+8=9)
- Die Folge ergibt:
4, 9, 9, 4, 7, 6, 9, 7, 7, 2, 6 - Ziffern summieren:
4 + 9 + 9 + 4 + 7 + 6 + 9 + 7 + 7 + 2 + 6 = 70 - Da 70 modulo 10 gleich 0 ist, ist die Nummer gültig.
Warum Validierung wichtig ist
Die Validierung einer Kreditkartennummer vor der Verarbeitung einer Transaktion ist ein entscheidender erster Schritt bei der Zahlungsabwicklung.
Das Bestehen des Luhn-Tests beweist zwar nur, dass die Nummer strukturell korrekt ist (nicht, dass das Konto tatsächlich existiert, Guthaben hat oder dass die verwendende Person dazu berechtigt ist), jedoch werden dadurch Tippfehler und Formatierungsfehler sofort erkannt. Das spart Zeit und Bearbeitungsgebühren, da fehlerhafte Daten gar nicht erst an das Zahlungsgateway übermittelt werden.
Für Entwickler bietet die clientseitige Validierung mithilfe des Luhn-Algorithmus unmittelbares Feedback für den Nutzer und verbessert so das Checkout-Erlebnis.
Selbst ausprobieren
Möchten Sie diese Validierung in Aktion sehen oder prüfen, ob eine Kreditkartennummer strukturell gültig ist?
Testen Sie unser kostenloses Credit Card Validator-Tool. Es prüft sofort die Gültigkeit jeder eingegebenen Kartennummer mithilfe des Luhn-Algorithmus und identifiziert das ausstellende Netzwerk anhand der IIN. Ein praktisches Hilfsmittel für Entwickler, die Zahlungsformulare testen, und für alle, die wissen möchten, wie ihre Kartennummern aufgebaut sind.