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 dritte Betaversion von konto_check 3.0 (2.93) 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.7. Es fehlen allerdings (immer noch) noch einige Routinen für das neue Lookup-Table Format (blz.lut) und andere Kleinigkeiten (Unterstützung für MySQL und PostgreSQL). Die definierten Prüfziffermethoden bis D1 sind jedoch vollständig implementiert.

Die Perl-Version ist 2.93a; sie unterscheidet sich gegenüber der 2.93 Version auf CPAN durch einige Debug-Routinen, um einem Fehler auf die Spur zu kommen, der auf meinen Systemen nicht auftritt, aber bei manchen Perl-Tests schon (wie z.B. hier).

Weitere Infos und Download

Hier sind noch einige weitere Infos:
NameDatumGrößeBeschreibung
konto_test.html 11.4.2008 4237 Online-Check von Kontonummern
00liesmich.txt 27.8.2008 11457 Readme-Datei
0_history.txt 27.8.2008 31590 Versionen/Vorgeschichte
blz.lut 12.6.2008 13358 Lookup-Table für die Bankleitzahlen, gültig ab 9.6.2008
blz.lut2 24.8.2008 201586 Lookup-Table für die Bankleitzahlen im neuen Format (ohne Filialen; Gültigkeit 9.6. bis 7.9. sowie 8.9. bis 7.12.2008)
blz_20080609txt.zip 12.6.2008 400343 Bankleitzahlen-Datei der Deutschen Bundesbank
konto_check.h 17.9.2008 31956 Header-Datei mit public interface von konto_check
konto_check-2.7.zip 24.8.2008 104390 Download von konto_check (Version 2.7, Sourcecode)
konto_check_dos-2.7.zip 24.8.2008 148973 DOS-Programm und DLL von konto_check (Version 2.7)
Business-KontoCheck-2.7.tar.gz 24.8.2008 168139 Perl-Version von konto_check 2.7
konto_check-2.93.zip 17.9.2008 173415 Download von konto_check 2.93 (Version 3.0 Beta 3, Sourcecode)
konto_check_dos-2.93.zip 17.9.2008 488577 DOS-Programm und DLL von konto_check (Version 3.0 Beta 3)
Business-KontoCheck-2.93a.tar.gz 20.9.2008 509644 Perl-Version von konto_check 2.93a (slightly modified to get better debug info for the error -38 bug
alt/ 17.9.2008 4096 Alte Versionen von konto_check
Deutsche Bundesbank --- --- Downloadseite der Deutschen Bundesbank