sub encryptFile { my $filename = shift; $| = 1; print "Encrypting $filename..."; $| = 0; my $cipher = Crypt::CBC->new( -key => $KEY, -cipher => 'Blowfish', -padding => 'space', -add_header => 1 ); $cipher->start('encrypting'); open(ORGINAL, "<./$filename"); open(ENCRYPTED, ">./$filename.encrypted"); binmode ORGINAL; binmode ENCRYPTED; while (sysread(ORGINAL, my $buffer, 1024)) { syswrite(ENCRYPTED, $cipher->crypt($buffer)); } $cipher->finish; close ENCRYPTED; close ORGINAL; print "done.\n"; } sub decryptFile { my $filename = shift; $| = 1; print "Decrypting $filename..."; $| = 0; my $cipher = Crypt::CBC->new( -key => $KEY, -cipher => 'Blowfish', -padding => 'space', -add_header => 1 ); $cipher->start('decrypting'); open(ENCRYPTED, "<./$filename.encrypted"); open(DECRYPTED, ">./$filename"); binmode ENCRYPTED; binmode DECRYPTED; while (sysread(ENCRYPTED, my $buffer, 1024)) { syswrite(DECRYPTED, $cipher->crypt($buffer)); } $cipher->finish; close DECRYPTED; close ENCRYPTED; print "done.\n"; }