1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| uses
DECCiphers, DECCipherBase; // DEC
procedure TForm6.btnLoadDecClick(Sender: TObject);
var aStream : TmemoryStream;
FStream : TFileStream;
Cipher : TCipher_AES;
begin
if OpenTextFileDialog1.execute then
begin
FStream:=TFileStream.Create(OpenTextFileDialog1.FileName,fmOpenRead);
try
FStream.Position:=0;
aStream:=TmemoryStream.Create;
try
Cipher:= TCipher_AES.Create;
try
Cipher.Init(RawByteString('1234567890abcdef'));
Cipher.Mode := cmCBCx;
Cipher.DecodeStream(FStream,aStream,FStream.Size-2); // les char fin de fichier !?
aStream.Position:=0;
Memo1.Lines.LoadFromStream(aStream);
finally
cipher.Free;
end;
finally
aStream.Free;
end;
finally
FStream.Free;
end;
end;
end;
procedure TForm6.btnSaveDECClick(Sender: TObject);
var
Cipher : TCipher_AES;
aStream, cStream : TMemoryStream;
Fstream : TFileStream;
SL : TStringList;
begin
if OpenTextFileDialog1.execute then
begin
aStream:=TmemoryStream.Create;
try
Memo1.Lines.SaveToStream(aStream);
aStream.Position:=0;
cStream:=TmemoryStream.Create;
try
Cipher := TCipher_AES128.Create;
try
Cipher.Init(RawByteString('1234567890abcdef'));
Cipher.Mode := cmCBCx;
FStream:=TFileStream.Create(OpenTextFileDialog1.FileName,fmOpenReadWrite);
try
cipher.EncodeStream(aStream,FStream,astream.Size);
finally
Fstream.Free;
end;
finally
Cipher.Free;
end;
finally
cStream.Free;
end;
finally
aStream.Free;
end;
end;
end; |
Partager