#!/usr/bin/perl use warnings; use strict; use Crypt::CBC; ##----------- encryption ------------ my $cipher = Crypt::CBC->new( {'key' => 'secretfoo', 'cipher' => 'Blowfish', 'padding' => 'standard', }); open(INF, "< $0" ) || die; open(OUTF, ">$0.crypt") || die; $cipher->start('encrypting'); while (read(INF,my $buf, 1024 ) ) { print OUTF $cipher->crypt($buf); } print OUTF $cipher->finish; close(INF); close(OUTF); ##-------------------------- decryption -------------------- my $cipher1 = Crypt::CBC->new( {'key' => 'secretfoo', 'cipher' => 'Blowfish', 'padding' => 'standard', }); open (INF1, "< $0.crypt") || die; open (OUTF1, ">$0.decrypt") || die; $cipher->start('decrypting'); while (read(INF1,my $buf, 1024 ) ) { print OUTF1 $cipher->decrypt($buf); } print OUTF1 $cipher->finish; close(INF1); close(OUTF1); __END__