Hi,
I have a brand new encryption/decryption program and I'm trying to improve its execution speed. I have a lot of big files (5Mb) to process and I tought I'd use File::Slurp in order to put everything in main memory.
Here are the relevant snipets:
(...)
use File::Slurp;
use Crypt::CBC; #underlying cipher is Crypt::Twofish_PP
(...)
my $infilename = shift;
my $outfilename = shift;
my $cipher = Crypt::CBC->new($self->{SYMMKEY}, 'Twofish_PP');
$cipher->start('decrypting');
my $ref_file_str = read_file($infilename, scalar_ref => 1);
my $enc_file_str = $cipher->crypt($$ref_file_str);
$enc_file_str .= $cipher->finish;
write_file($outfilename, \$enc_file_str);
(...)
The end result is a file partially decrypted (a very small portion). If I try to put these lines in a one-liner, I only get the decrypted portion.
This program is executed with ActiveState Perl. Is it possible that a Windows "feature" is preventing this from working properly? Am I asking too much from the CBC/Twofish libraries? Or am I just plain wrong in assuming that this is at all feasible?