Laut Wikipedia entwickle ich gerade eine Java-Anwendung, die IBANs aus verschiedenen Ländern berechnet und überprüft. Einige BBANs verfügen über eine nationale Prüfziffer, aber ich kann keine Dokumentation finden, wie man sie berechnet. Wo finde ich den Algorithmus für die "nationale Prüfziffer"? Ich interessiere mich nicht für die "IBAN-Prüfziffer", sondern für die länderspezifische Prüfziffer.
Antworten
Zu viele Anzeigen?Wenn Sie den spanischen IBAN konstruieren/dekonstruieren müssen, ist Spanien ein Land, das zwei Sätze von Prüfziffern hat, die in der folgenden Reihenfolge berechnet werden: 45, 91
ES91 2100 0418 4502 0005 1332
Länderschlüssel (2 Zeichen 'ES') Prüfziffern (2 Zeichen) Bankleitzahl (4 Zeichen) Filialcode (4 Zeichen) Prüfziffer (2 Zeichen) Kontonummer (10 Zeichen)
Schritt-für-Schritt-Anleitung 1. Ändern Sie zuerst ES in ihren numerischen Äquivalenten E=14, S=28 und hängen Sie diesen Wert mit 00 an, also 142800. Jetzt, um die ersten iban-Prüfziffern zu erhalten, addieren Sie die Kontonummer mit der Zahl aus Schritt 1: 0200051332142800
-
Berechnen Sie nun den Rest von diesem Wert bei mod 97, subtrahieren Sie dann den Rest von 98. 0200051332142800 mod 97 = 53, 98 - 53 = 45 <- erste Gruppe von Prüfziffern! (smile)
-
Wenn Sie mit einer Ziffer enden, sollte sie mit einer führenden Null aufgefüllt werden.
-
Um die zweiten IBAN-Prüfziffern zu erhalten, hängen Sie die Bankleitzahl (2100) an die Filialnummer (0418) dann die Kontonummer, plus die ersten Prüfziffern (450200051332) dann den Wert aus Schritt 1 an, insgesamt: 21000418450200051332142800
-
Erneut mod 97 auf diesen Wert, 21000418450200051332 mod 97 = 7, 98 - 7 = 91 <- zweite Gruppe von Prüfziffern (smile)
Die nationale Prüfziffer ist in nationalen Standards definiert, wobei jedes Land einen anderen Standard hat. Einige Länder haben eine Prüfziffer, andere haben zwei und wieder andere haben keine.
Spanische Bankkontonummern haben zum Beispiel zwei Prüfziffern. Die erste basiert auf den 4-stelligen Zweigstellen- und Bürocodes, und die zweite wird aus der 10-stelligen Kontonummer berechnet. Sie finden diese in jedem Dokument im Zusammenhang mit Banken-IT, zum Beispiel hier, aber im Grunde multiplizieren Sie jede Ziffer mit einer Potenz von 2 mod 11, addieren die resultierenden Ziffern zusammen und nehmen den Rest, wenn man durch 11 dividiert. Der Wikipedia-Eintrag hat Beispielcode zur Überprüfung und Berechnung der Prüfziffern.
Andere Länder verwenden andere Methoden, wie zum Beispiel den Luhn-Algorithmus.