#!/usr/bin/perl use warnings; use strict; use Crypt::CBC; my $KEY = 'secret_foo'; encryptFile( $0 ); decryptFile( "$0.enc"); 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.enc" ); binmode ORGINAL; binmode ENCRYPTED; while ( sysread( ORGINAL, my $buffer, 1024 ) ) { syswrite( ENCRYPTED, $cipher->crypt( $buffer ) ); } #$cipher->finish; #wrong syswrite( ENCRYPTED, $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" ); open( DECRYPTED, ">./$filename.decrypted" ); binmode ENCRYPTED; binmode DECRYPTED; while ( sysread( ENCRYPTED, my $buffer, 1024 ) ) { syswrite( DECRYPTED, $cipher->crypt( $buffer ) ); } # $cipher->finish; #wrong syswrite( DECRYPTED, $cipher->finish ); close DECRYPTED; close ENCRYPTED; print "done.\n"; }
In reply to Re^2: Crypt::CBC with Blowfish problem
by zentara
in thread Crypt::CBC with Blowfish problem
by zentara
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |