This doesnt work:
var
Source, Dest: TFileStream;
SrcFile, DestFile: string;
Start, Stop: cardinal;
Size: integer;
SourceKey,NewKey: AESBlock;
Key: AES128Key;
SrcBuf, DstBuf: array [0..16383] of byte;
SrcSize, DstSize: integer;
MyInBlock, MyOutBlock: AESBlock;
begin
Source := TFileStream.Create(txtFile.Text, fmOpenRead);
DestFile := ExtractFilePath(Application.ExeName) + 'aestemp.enc';
Dest := TFileStream.Create(DestFile, fmCreate);
try
Size:=Source.Read(SourceKey,SizeOf(SourceKey));
if Size<>SizeOf(SourceKey) then
raise Exception.Create('Unable to read SourceKey from file.');
FillChar( Key, SizeOf(Key), 0 );
Move( PAnsiChar(AnsiString(txtPassword.Text))^, Key, Min( SizeOf( Key ), Length( txtPassword.Text ) ));
//FillChar( MyInBlock, SizeOf(MyInBlock), 0 );
//Move(Source.ReadBuffer(SrcBuf,Size), MyInBlock, Min( SizeOf( MyInBLock ), Size ));
NewKey:=AES128Cipher(SourceKey,Key);
Dest.WriteBuffer(NewKey,SizeOf(NewKey));
//AES128Cipher(Source,Key)
//Dest.WriteBuffer(AES128Cipher(Source,Key),Size);
finally
Dest.Free;
Source.Free;
end;
showmessage('Finished');