Moinmoin,
bin etwas verwirrt. Ich wollte, zum sicheren Speichern von Passwörtern in einer
DB, die Passwörter Hashen.
Ok,..aktueller Stand dürfte SHA3 sein und fand die Implementierung von Wolfgang Ehrhardt. Hab das ganze auch ohne große Sache integrieren können. Nur funktionieren wills nicht so wirklich. Bei jedem Programmstart bekomme ich, obwohl die Eingangsdaten identisch zu den anderen Aufrufen sind, einen anderen Hash ??
Delphi-Quellcode:
function CreateHash(aString:string):string;
var
Context : THashContext;
Digist : TSHA3_512Digest;
//bytes : Array of Byte;
size : Integer;
Bytes : TBytes;
begin
SHA3_512Init(Context);
size := aString.Length * SizeOf(Char);
Bytes := TEncoding.Default.GetBytes(aString);
SHA3_512Update(Context,@bytes,size);
SHA3_512Final(Context,Digist);
result := Base64Str(@Digist,sizeof(Digist));
end;
Dabei ist aString immer PWD+Salz. Aber wie gesagt, bekomme ich bei jedem Start des Programms, einen anderen
Hash, obwohl PWD+Salz immer gleich ist.
Findet ihr hier einen Fehler ?
Danke schonmal