Und ein Salt kann natürlich beliebig groß sein, außer bei Hash-/Verschlüsselungsfunktionen, die einen Salt mit fester Länge erfordern.
Ein Salt ist einfach nur ein "beliebiger" Startwert, mit dem man quasi den Hash initialisiert, damit bei selben Eingangsstrings nicht der selbe Ausgangshash raus kommt, also z.B. das selbe Passwort in verschiedenen Systemen nicht den selben Hash hat und man es so auch mit Rückrechnen/Rainbowtables nicht so leicht hat, um ein passendes Equivalent zu finden.
Wordpress z.B. nutzt einen von der Database separat gespeicherten globalen Salt, für alle Passwörter.
Alternativ kann man auch zu jedem Hash einen eigenen Salt generieren und beim/im Hash hinterlegen.
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;
BinToHex?