konto_check

C/Perl-Library zur Prüfzifferberechnung deutscher Kontonummern

Überblick

konto_check ist eine kleine library zur Überprüfung deutscher Kontonummern. Die meisten Kontonummern enthalten eine Prüfziffer; das Modul prüft anhand der von der Deutschen Bundesbank herausgegebenen Tabelle, ob eine angegebene Kontonummer plausibel ist. Es sind alle definierten 127 Prüfmethoden (00 bs C6) implementiert

Es gibt jetzt auch eine Perl-Version von konto_check. Diese Version wurde mittels dem h2xs Tool von perl erstellt und beinhaltet dieselbe Funktion wie die C-Library (die natürlich auch eingebunden wird). Das Paket ist auch vom CPAN Server verfügbar.

konto_check ist vor allem als library konzipiert, d.h. zum Einbinden in andere Programme. Es wird jedoch auch ein kleines DOS-Programm sowie eine DLL mitgeliefert, mit dem eine Überprüfung von Datensätzen in Dateien oder aus anderen Anwendungen oder Programmiersprachen erfolgen kann.

Für Windows stimmen die Einsprungpunkte der DLL nicht mit den Funktionsnamen überein, sondern bekommen noch ein @ und die Anzahl Parameter angehängt. Die Einsprungpunkte kann man mit dem Tool Dependency Walker von Microsoft bestimmen; hier ist die Ausgabe von Dependency Walker.

Betaversion von konto_check 3.0 verfügbar

Die (hoffentlich letzte :-) ) Betaversion von konto_check 3.0 (2.98) ist jetzt verfügbar. Die Prüfroutinen wurden intensiv getestet; es gibt keinen Unterschied zur Version 2.6 (es wurde dabei sogar noch ein kleiner Fehler in den Methoden 53 und B6 gefunden, der in den Versionen 2.7 und 2.92 behoben ist). Außerdem wurden etliche kleine Fehler berichtigt und für Perl die Prüfroutinen komplett umgeschrieben. Der Windows-Port macht teilweise Probleme (besonders die DLL in Zusammenhang mit Access, und die PHP-Version). Unter Unix/Windows scheint es weniger Probleme zu geben. Die Dokumenation fehlt noch fast völlig; bei der endgültigen Version werden die Routinen allerdings alle dokumentiert sein.

konto_check auf SourceForge

Neuerdings ist konto_check auch bei SourceForge unter http://sourceforge.net/projects/kontocheck/ gehostet; dort gibt es auch eine Mailingliste, sowie einige Tracker (Bugs, Feature Requests, Patches, Support Requests). Das Projekt dort ist noch im Aufbau; es bietet jedoch mehr Möglichkeiten als diese einfache Webseite.

Test österreichischer Bankkonten

Auf dieser Seite gibt es die Bibliothek konto_check-at, die eine Kontonummernprüfung für österreichische Kontonummern implementiert.

Geschwindigkeit

Die Version 1 der Library wurde nicht auf Geschwindigkeit optimiert, sondern auf Übersichtlichkeit und Verständlichkeit des Codes. In der Version 1.1 wurden einige Geschwindigkeitsoptimierungen gemacht.

Für die Version 2 wurden u.a. diverse Geschwindigkeitsoptimierungen gemacht. Unter Linux wird auf einem 3,4 GHz Pentium 4 eine Datei mit 5.000.000 Kontonummern in knapp 1,1s geprüft (nachdem alle Bremsklötze entfernt wurden).

Lizenz

konto_check ist Open Source und steht unter der GNU LGPL.

Testseite (jetzt für C und PHP)

Hier ist eine Testseite, mit der Sie Gültigkeit von Kontonummern (einzelne Kontonummern oder eine Liste mit bis zu 1000 Nummern) testen können. Auch eine Testseite für PHP ist jetzt verfügbar, die das PHP-Modul zur Validierung benutzt; der Quellcode des Skriptes kann aus dem Skript selbst ausgegeben werden.

Versionen

Die aktuell stabile Version ist 2.97. Offiziell ist sie noch im Beta Status, läuft allerdings schon sehr stabil; es fehlen noch ein paar Tests (vor allem unter Windows). Die definierten Prüfziffermethoden bis D3 sind vollständig implementiert.

Der Fehler auf den meisten 64 Bit Plattformen, der vor allem in den Perl-Tests auftrat (wie z.B. hier) ist mittlerweile gefunden und beseitigt. Das Problem war einfach eine Variablengröße; bei einer zlib-Routine wurde eine 4 Byte Integer übergeben statt einer 8 Byte Integer; dadurch schlug der Funktionsaufruf fehl.

Weitere Infos und Download

Hier sind noch einige weitere Infos:
NameDatumGrößeBeschreibung
konto_test.html 12.12.2008 4321 Online-Check von Kontonummern
00liesmich.txt 27.8.2008 11457 Readme-Datei
0_history.txt 9.5.2009 39066 Versionen/Vorgeschichte
blz.lut 14.5.2009 13518 Lookup-Table für die Bankleitzahlen, gültig ab 9.3.2009 bis 7.6.2009
blz.lut2 12.6.2009 162494 Lookup-Table für die Bankleitzahlen im neuen Format (ohne Filialen; Gültigkeit 9.3.2009 bis 7.6.2009 sowie 8.6.2009 bis 6.9.2009; Prüfziffermethode für BLZ 720 693 29 auf 88 korrigiert)
konto_check.h 14.5.2009 35295 Header-Datei mit public interface von konto_check
Downloadseite bei
Sourceforge
--- --- Get konto_check at SourceForge.net. Fast, secure and Free Open Source software downloads
Deutsche Bundesbank --- --- Downloadseite der Deutschen Bundesbank