Hallo,
das kannst Du dann ja recht einfach mit einem MD5 machen ...
Der User gibt sein PWD ein und Du speicherst den MD5Hash in der INI (oder in der
DB Userverwaltung) ...
Delphi-Quellcode:
function f_MD5Hash(sVal : String) : String;
{-------------------------------------------------------------------------------
f_Md5Hash
Erzeugt einen MD5 Hash Wert, der nicht zurück gewandelt werden,
kann aber verglichen.
Benötigt wird mindestens in der uses: IdHashMessageDigest.
die Rückgabe ist immer 32 Zeichen lang
Input: STRING
Output: STRING
-------------------------------------------------------------------------------}
var
idmd5 : TIdHashMessageDigest5;
begin
idmd5 := TIdHashMessageDigest5.Create;
result := idmd5.HashStringAsHex(sVal);
idmd5.Free;
end;
Und wenn der User sich wieder anmeldet prüfst Du die Eingabe, in dem Du den INI-Wert gegen den berechneten Wert prüfst. Dadurch bist Du sogar raus, wenn der Benutzer sein PWD vergessen hast, weil auch Du es nicht wiederherstellen kannst. Und wenn der User sich nicht erinnern kann, löscht Du den Hash in der INI (oder
DB Userverwaltung) und lässt ihn ein neues eingeben.
Gruß
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS
SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney