dann verwende bitte auch die richtigen Definitionen!
Code:
procedure MD5Update(var context: MD5_CTX; const input; inputLength: [b]LongWord[/b]); ...
siehe:
nja, eigentlich dachte ich wir hatten mal MD5 in der CodeLib, (kann's aber nicht finden
)
aber dort isses och noch drin
http://www.delphipraxis.net/internal...=811141#811141
Delphi-Quellcode:
Type MD5_CTX = packed Record
i: Array[0.. 1] of LongWord;
buf: Array[0.. 3] of LongWord;
input: Array[0..63] of Byte;
digest: Array[0..15] of Byte;
End;
Procedure MD5Init(Var Context: MD5_CTX); StdCall;
External 'advapi32.dll' Name 'MD5Init';
Procedure MD5Update(Var Context: MD5_CTX; Input: Pointer; inLen: LongWord); StdCall;
External 'advapi32.dll' Name 'MD5Update';
Procedure MD5Final(Var Context: MD5_CTX); StdCall;
External 'advapi32.dll' Name 'MD5Final';
das wäre natürlich auch noch richtig, aber wie gesagt unbedingt mit
LongWord,
denn es wäre nicht gut, wenn die höheren 2 Byte undefiniert blieben.
(würde unschöne Auswirkungen ergeben)
Delphi-Quellcode:
Procedure MD5Update(Var Context: MD5_CTX; Const Input; inLen: LongWord); StdCall;
External 'advapi32.dll' Name 'MD5Update';