Erstmal möchte ich mich für deine Hilfe bedanken... und selbstverständlich auch bei allen anderen, denen ich noch nicht geantwortet habe... Aber leider hatte ich heute dafür keine Zeit, da ich den ganzen Tag auf einen blöden BOS Lehrgang bin. ...
* man verwende die angehängte
Unit (Freeware) Copyright © 2002 by Dimka Maslov
Delphi-Quellcode:
procedure TLogin.Login(aUserName, aPassword:
string);
// aPassword = Klartext direkt ohne Umwege aus dem Eingabeedit
var
MD5Password:
string;
// Hash
begin
MD5Password := MD5DigestToStr(MD5String(aPassword));
aPassword := '
';
// Pseudocode:
// Query... frage die Datenbank ob es einen Benutzer(aUserName) mit dem MD5Passwort gibt.
// !!! Werte immer als Parameter der Query mitgeben.
// Hat die Query eine Antwort (Resultmenge = 1) ist der Benutzer gültig
// fertsch...
// Mach was mit dem User
end;
Beim Speichern des neuen Paßwortes erzeugst du auch den MD5, setzt die Paßwortvariable auf '' und speicherst den MD5 ab. Mit obiger Methode hast du im Programm keinen Vergleich der Paßwörter. Dieser läuft quasi schon in der Datenbank. Wenn du im Programm vergleichen willst dann nur die Hashes.
PS: Das ist eine einfache Variante aber ausreichend. Sicherer geht es immer...
Das sieht erstmal interessant aus, auch wenn ich es noch nicht so ganz verstanden habe aber ich werde mich morgen Abend mal daran setzten und versuchen den Code und die .pas Datei einzubinden und hoffentlich klappt es dann auch...
Aber eine Frage noch vorweg, muss das LoginFenster in der der
Unit DelphiMD5 eingebaut werden oder wird die "procedure TLogin.Login..." in meiner eigentlichen Login
Unit (in meinem Fall die
Unit 1) mit dem Befehl "uses DelphiMD5;" automatisch abgearbeitet?
MfG und einen schönen rest Samstag
René
PS: Bitte denkt daran, ich bin erst seit ca. einer Woche mit dem Programmieren am Gange und zuvor hatte ich keinerlei Erfahrungen bzw. Kenntnisse im Bereich der Programmierung. Das einzige was ich bisher gemacht habe, ist die Homepage unseres Ortsvereins...