Seite 1 von 2

Eine(!) gültige Iban berechnen

Verfasst: Dienstag 15. November 2022, 01:13
von greetings1
Hallo Leute,

ich möchte nur eine gültige deutsche IBAN berechnen, aber bin dabei vor ein paar Rätsel gestellt worden:

Code: Alles auswählen

from random import randint
import string

LETTERS = {ord(d): str(i)
           for i, d in enumerate(string.digits + string.ascii_uppercase)}


def _number_iban(iban):
    return (iban[4:] + iban[:4]).translate(LETTERS)


def generate_iban_check_digits(iban):
    number_iban = _number_iban(iban[:2] + '00' + iban[4:])
    return '{:0>2}'.format(98 - (int(number_iban) % 97))


def valid_iban(iban):
    return int(_number_iban(iban)) % 97 == 1


if __name__ == '__main__':
    c = 0
    cmax = 50000
    nrmax = 10**10
    print(nrmax)
    my_checksum = input('Checksum (the first four characters): ')
    my_blz = input('Bank code (8 digits): ')
    my_example = ''
    for i in range(0, cmax):
        my_nr = '%010d' % randint(0, 9999999999)
        my_iban = my_checksum + my_blz + my_nr
        if (generate_iban_check_digits(my_iban) == my_iban[2:4] and valid_iban(my_iban)):
            c += 1
            if (c == 1):
                my_example = my_iban
    print('There are about {} account numbers for the checksum and the bank code {}. One of them is: {}.'.format(
        (float(c)/cmax)*nrmax, my_checksum + my_blz, my_example))

Wenn ich jetzt zum Beispiel die BLZ der ING eingebe, dann erhalte ich folgende Ausgabe:

Code: Alles auswählen

Checksum (the first four characters): DE34
Bank code (8 digits): 50010517
There are about 99000000.00000001 account numbers for the checksum and the bank code DE3450010517. One of them is: DE34500105170123598050.
Und wenn ich dann "DE34500105170123598050" bei https://www.iban.com/iban-checker eingebe, sagt er mir zwar, dass die IBAN-Werte gültig seien, jedoch nicht die Kontonummer... Ich zweifle auch etwas daran, dass es sogar bis zu 100 Millionen gültige IBAN-Nummern für eine Bank und Prüfsumme gibt.

Was hab ich übersehen? Vielen Dank fürs Proofreading. :)

Re: Eine(!) gültige Iban berechnen

Verfasst: Dienstag 15. November 2022, 06:56
von sparrow
Richtig gut wäre gewesen, wenn du auch mitgeteilt hättest, was _genau_ die Seite bemängelt.
Denn du folgst ja nur der Anweisung, wie man eine IBAN validiert. In der IBAN steckt aber eine Kontonummer. Und die hat in Deutschland ebenfalls eine Prüfziffer.

Re: Eine(!) gültige Iban berechnen

Verfasst: Dienstag 15. November 2022, 11:30
von greetings1
Hallo sparrow & Danke für deine Antwort.

Es sieht also so aus, als wenn ich auch noch eine zusätzliche Validierung der Konto-Nummer bräuchte, und das die möglichen IBAN-Nummern zu einer IBAN-Prüfsumme und BLZ weiter einschränkt, oder?

Die Frage ist mir eingefallen, weil ich mich gefragt hatte, inwieweit man eine Konto-Nummer "erraten" könnte, wenn man nur die ersten 4 Zeichen ( Prüfsumme) und die Bank ( BLZ) kennt.

Re: Eine(!) gültige Iban berechnen

Verfasst: Dienstag 15. November 2022, 11:50
von __blackjack__
@greetings1: Die Banken selbst können da noch weitere Einschränkungen machen/Bedingungen aufstellen. Zum Beispiel das Privat- und Geschäftskonten aus unterschiedlichen Nummernbereichen kommen, oder das Girokonten oder Hauptkonten pro Kunde immer mit einer bestimmten Ziffernfolge enden müssen und so weiter. Und es kann aus historischen Gründen auch verschiedene Regelsätze bei einer Bank geben. Zum Beispiel falls die Bank durch eine Fusion entstanden ist. Ist also die Frage was eine gültige Kontonummer am Ende genau ist, beziehunsweise wen man fragt/was man überprüft, und welche konkreten Zusatzbedingungen man insgesamt kennt.

Re: Eine(!) gültige Iban berechnen

Verfasst: Mittwoch 16. November 2022, 14:36
von greetings1
@__blackjack : Danke für die Erklärung... Du hättest nicht zufällig ein Beispiel dafür, wie man zusätzlich die Kontonummer validieren könnte (in Python!), oder? ;) LG

Re: Eine(!) gültige Iban berechnen

Verfasst: Mittwoch 16. November 2022, 16:45
von sparrow
@greetings1: Hast du denn einen entsprechenden Regelsatz? __blackjack__ hat ja gesagt, dass das individuell ist

Re: Eine(!) gültige Iban berechnen

Verfasst: Donnerstag 24. November 2022, 22:29
von greetings1
sparrow hat geschrieben: Mittwoch 16. November 2022, 16:45 @greetings1: Hast du denn einen entsprechenden Regelsatz? __blackjack__ hat ja gesagt, dass das individuell ist
Ich selber habe die Validitäts-Regeln nicht...

Auf IBAN Checker steht nur:

Bild

Wo könnte ich diese nachlesen, hoffe, die sind nicht Ultra-kompliziert... :roll:

Und weshalb gibt es in DE als einziges Land so komplizierte Regeln? :|

Re: Eine(!) gültige Iban berechnen

Verfasst: Freitag 25. November 2022, 01:45
von __blackjack__
@greetings1: Wieso als einziges Land? Das steht „For example:“ und dann sind gerade mal 5 Länder aufgeführt.

Bei uns entscheidet das anscheinend jede Bank selbst, beziehungsweise entschied das irgendwann mal selbst, und als es um die Standardisierung davon ging, hat die Bundesbank gesagt „zeigt mal was ihr da an Verfahren habt“ und als nächstes dann „Ui, das sind aber ganz schön viele“. 😀

Re: Eine(!) gültige Iban berechnen

Verfasst: Freitag 25. November 2022, 07:41
von paddie
Der passende Link dazu wäre wohl der hier: https://www.bundesbank.de/de/aufgaben/u ... ern-603282

Da gibts dann unten einen Downloadlink zu den Berechnungsmethoden der Prüfziffer. Zusätzlich wird da auch direkt auf die Bankleitzahlen verlinkt. Die gibts dann dort auch direkt zum Download.

Ich habs nur überflogen...aber bei manchen Methoden frag ich mich echt wie die auf sowas gekommen sind...

Re: Eine(!) gültige Iban berechnen

Verfasst: Freitag 25. November 2022, 12:23
von greetings1
Danke euch! :)

@paddie : Ja, da hast du recht. Wahrscheinlich ist die BBAN auch wieder "historisch gewachsen", und deshalb mittlerweile so "verschlampt" bzw. über-restriktiv... anders kann ich mir das auch nicht erklären. MMn, wird es Zeit, aus der EU auszutreten und zur stabilen DM zurückzukehren... Aber das ist ein anderes Thema. ;)

Ich bleibe an diesem Thema dran, und schreibe euch hier, ob ich Erfolge vorweisen konnte. :)

Re: Eine(!) gültige Iban berechnen

Verfasst: Freitag 25. November 2022, 15:23
von noisefloor
Hallo,
MMn, wird es Zeit, aus der EU auszutreten und zur stabilen DM zurückzukehren...
An dann ändert sich automatisch die Kontonummer? Wohl eher nicht... Also meine Kontonummer ist seit 1999 (Hint: da gab es noch D-Mark) unverändert, nur halt seit der Umstellung auf IBAN darin verwurstet. Ich gehe davon aus, dass die diversen Prüfsummenberechnungen weitestgehend älter als der Euro sind.

Gruß, noisefloor

Re: Eine(!) gültige Iban berechnen

Verfasst: Freitag 25. November 2022, 15:46
von __blackjack__
@greetings1: IBAN heisst I wie „international“ ja nicht wegen der EU, das heisst *daran* ändert sich auch ohne EU nix. Wenn man sich die Entstehung anschaut und das ganze zu komplex und flexibel findet: Fanden die europäischen Banken auch beim ursprünglichen internationalen ISO-Vorschlag und haben darauf gedrängt, dass das *einfacher* wird. Und da steckt auch Verhandlungsmacht dahinter die durch ein geeintes Europa zustande kommt. Ohne EU wäre es also noch flexibler und komplizierter geworden.

Zudem ist die BBAN der *länderspezifische* Teil, also alles was da drin steckt ist Deutschland pur. Die Komplexität in dem Teil kannst Du nicht auf die EU schieben.

Welche stabile DM? Es ist eine komische Annahme, dass, nur weil die DM mal stabil war, das eine Eigenschaft der Währung ist, und die immer stabil geblieben wäre, nur wegen dem Namen. Gäbe es die heute noch, dann wäre sie entweder mit einem festen Umrechnungskurs an den EUR gebunden oder wir wären tatsächlich alleine gegen den Rest der EU. Wer sein tolles, auch mal stabiles Pfund wieder hat, sind die Briten. Läuft gerade nicht so super so alleine in der aktuellen Situation. Jedes dritte alleinerziehende Elternteil lässt mittlerweile Mahlzeiten ausfallen oder geht zur Tafel, damit der Nachwuchs was zu beissen hat.

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 09:08
von greetings1
Ja, schon gut, an der BBAN würde sich durch einen Austritt nichts ändern...

Aber die anderen Punkte stimmen, je mehr nationalstaatliche Souveränität an die EU abgegeben wird, umso schlechter geht es allen. ;) Das ist nur meine Meinung. Diese hat aber nicht mit dem Thema zu tun, deshalb bitte ignorieren.

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 11:20
von sparrow
Und deine Meinung ist belegbar falsch, wie man - wie hier bereits gesagt wurde - gut an Beispielen sehen kann.

"Früher war alles besser" ist eine erfolgreiche Selbsttäuschung 😆

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 15:11
von greetings1
Nein, ist es nicht. Wir sind Transferland. Wenn mehr Staaten dem englischen Beispiel folgen würden, hätten wir weniger Probleme. Der Multilateralismus und De als "Einwanderungs"land versagt auf ganzer Linie. Aber lassen wir das jetzt doch bitte.

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 15:32
von __deets__
Politische Diskussionen anfangen, aber sich dann verbitten, das dazu Stellung bezogen - nee, is klar. Wenn du unwidersprochen deine Thesen absondern willst, mach dein eigenes Forum auf. Wenn du sie hier äußerst, wird dir widersprochen werden. Wenn du das nicht abkannst, dann spar dir solche Bemerkungen. Problem gelöst.

Deine Wahrnehmung der britischen Situation ist absurd verzerrt. Schlusslicht der Ökonomien der G7. Selbst der “Minister für Brexit Opportunities” kann keine benennen. Und Rishi Sunak bringt eine Annäherung nach Schweizer Modell ins Spiel. Muss natürlich alles ganz vorsichtig und verklausuliert geschehen, damit die Brexit-Ultras sich nicht verknoten…

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 15:56
von noisefloor
Hallo,

zurück zum Thema: @greetings1: arbeitest du noch am Code oder ist das Thema durch? Wie wir ja hier im Thread gelernt haben (war zumindest mir so nicht bewusst), ist ja schon alleine das bestimmen einer gültigen, deutschen Kontonummer ziemlich komplett. Basierend auf einem der Posts weiter vorne wäre das bestimmen einer italienischen Kontonummer einfahch, weil du scheinbar landes- / bankenweit nur eine Methode einsetzen.

Was ist / war eigentlich Ziel das ganzen?

Gruß, noisefloor

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 16:02
von kbr
greetings1 hat geschrieben: Samstag 26. November 2022, 15:11 Wenn mehr Staaten dem englischen Beispiel folgen würden, hätten wir weniger Probleme.
Selbst in England wird begonnen, den "Brexit" eher als "Bregret" zu betrachten ...

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 16:27
von greetings1
kbr hat geschrieben: Samstag 26. November 2022, 16:02
greetings1 hat geschrieben: Samstag 26. November 2022, 15:11 Wenn mehr Staaten dem englischen Beispiel folgen würden, hätten wir weniger Probleme.
Selbst in England wird begonnen, den "Brexit" eher als "Bregret" zu betrachten ...
Ja, weil nun mit einer "Jetzt erst Recht!"-Mentalität seitens der EU gegen England nach dem Austritt vorgegangen wird, nach dem Credo: Dann machen wir ein schlechtes Vorbild aus euch, damit weitere Staaten nicht nachziehen könnten.

Mit dem eigentlichen Thema bin ich aber leider noch nicht weiter...

Re: Eine(!) gültige Iban berechnen

Verfasst: Samstag 26. November 2022, 16:38
von kbr
Falls du an einer etwas differenzierten Betrachtungsweise interessiert bist, so findest du hier einen Blick von "außen":
https://www.nytimes.com/2022/11/22/worl ... egret.html