All seems fine and seems to be working. However, when I open the file I encrypted and then decrypted here, its not 100% as the original. I tested on a .zip file, and when reopening that, I get the structure in the .zip file, but I cant read any data (and extract it). Either the error is when creating the file, or its something with the decrypting process that Im missing. Usually this kind of error is when not using binary mode, but as you can see here I am. But still not working...sub encryptFile { my $filename = shift; $| = 1; print "Encrypting $filename..."; $| = 0; my $cipher = Crypt::CBC->new( -key => $KEY, -cipher => 'Blowfish', -pad +ding => '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', -pad +ding => '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"; }
In reply to Something aint right using Crypt::CBC here... by Ace128
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |