Mich wundert das Auftreten von 'System.TArray<System.Byte>', eigentlich sollte System.TGUID.D4 ein
array[0..7] of byte
sein. Leider kann ich die
Unit nicht übersetzen, wegen Pointerarithmetik mit UIntPtr.
Was passiert denn wenn Du folgendes testest;
Delphi-Quellcode:
const
mysalt = array[0..7] of byte = (0,1,2,3,4,5,6,7);
..
HashPassword(Password, mysalt,12);
Wenn das übersetzbar ist, kann man notfalls ein Konstrukt wie dieses verwenden:
Delphi-Quellcode:
var
g: TGuid;
aa: array[0..7] of byte;
begin
move(g.d4, aa, sizeof(aa));
HashPassword(Password, aa,12);
Eine direkte Zuweisung
aa := g.d4
funktioniert nicht, da die
beiden Typen
array[0..7] of byte;
inkompatibel sind.