Ein letzter Versuch: Wenn Deine Funktion immernoch etwa so aussieht
Delphi-Quellcode:
function SHA1Text(const s: string): string;
var
Context: THashContext;
SHA256Digest: Hash.TSHA256Digest;
begin
SHA256.SHA256Init(Context);
SHA256.SHA256Update(Context, pChar(s), length(s));
SHA256.SHA256Final(Context, SHA256Digest);
Result := Mem_Util.HexStr(@SHA256Digest, SizeOf(SHA256Digest));
end;
hast Du wahrscheinlich ein Problem mit Unicodestrings wegen des pChar(s). Da char 16 Bit ist, müßtest Du auf jeden Fall
length(s)*sizeof(char) verwenden. Doch ich bezweifele, daß Du überhaupt die vielen 0-Bytes eines Unicodestring haschen willst. Warum verwendest Du immer noch die
dämlichen unangemessenen Strings? Gehascht werden sollte über Byte/Bit-Folgen, wie man es Dir in Deinem anderen Thread bereits nahegelegt hat.
Gute Nacht
Gammatester