ich suche z.Z. nach einer Hash-Funktion für einen Webservice (Passwort-Ablage in einer Datenbank). Da SHA-1 und md5 schon geknackt sind (was für meine Anwendung theoretisch egal wäre), habe ich an SHA-256 gedacht.
Die DCPcrypt Implentierung liefert aber andere Ergebnisse als das sha256sum von meinem Debian.
Hier mein Quelltext:
Code: Alles auswählen
function SHA256(const aStr: String): String;
var
hasher: TDCP_sha256;
digest: array [0..31] of Byte; // 256 bit -> 32 byte
i: Integer;
begin
hasher := TDCP_sha256.Create(nil);
try
hasher.Init;
hasher.UpdateStr(aStr);
hasher.Final(digest);
Result := '';
for i := Low(digest) to High(digest) do
Result := Result+IntToHex(digest[i], 2);
finally
hasher.Free;
end;
end;
Code: Alles auswählen
String: {622F937E-8697-449B-BA4C-35BCE84DDE8C}
TDCP_sha256: A806E59B96F1142FB0E915D77DCB2129383E3E6D82029239C4392AD7B206D03C
sha256sum: cb97329d563664dc7a2999a25ec2aa0513fbd59b4b1198ec5b670a4383bf2e7a