Ich lass das jetzt einfach so. Es funktioniert was will ich denn mehr?
Ist mir jetzt ehrlich gesagt auch zu sehr ein HeckMeck den String da noch in irgendwas anderes umzuwandeln und was weiß ich noch alles.
Es ist gerade umgekehrt. SHA1 liefert 20 Bytes und diese 20 Bytes werden dann typischerweise (wenn du den Wert in irgend einer Arbeit o.ä. druckst) als hex Wert dargestellt.
Wenn du dir also deine Bytes lieber hex anschaust, dann wandle sie doch einfach um:
Delphi-Quellcode:
function TBytesToHex( b : TBytes ) : RawByteString;
var i : integer;
begin
Result := '';
for i := 0 to length(b)-1 do Result := Result + inttohex(b[i]);
Result := lowercase(Result);
end;