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: