Fällt dir in der Zeile mit dem Fehler wirklich nichts auf?
So nach dem Wort CalcString?
Wie Sir Rufo das schon angedeutet hat: Wieso speicherst du den Hash des Passworts hab? Du wirst das Passwort doch später wieder auslesen wollen, oder? Hashes sind Einwegfunktionen. Das heißt deren Sinn ist es, ihre Umkehrung möglichst schwer zu machen. Du kannst aus dem gespeicherten MD5 das Passwort nicht mehr zurückrechnen.