function ...
var Inp, Outp, EC: TStream;
begin
...
// stream input
Inp := TStringStream.Create('valore chiave per cifratura');
// stream output
Outp := TStringStream.Create('');
// stream per cifratura
EC := TBlowFishEncryptStream.Create(Key, Outp);
// esegue la cifratura
EC.CopyFrom(Inp, Inp.Size);
// lettura testo cifrato
result := TStringStream(Outp).DataString;
...
end;
function ...
var Inp, Outp, EC: TStream;
begin
...
// crea stream input cifrato
Inp := TStringStream.Create("testo cifrato da decifrare");
// crea stream out vuoto
Outp := TStringStream.Create('');
// crea stream per decifratura + decifra
EC := TBlowFishDeCryptStream.Create(Key, Inp);
// legge testo in chiaro
Outp.CopyFrom(EC, Inp.Size);
// restituisce testo in chiaro
result := TStringStream(Outp).DataString;
...
end;