|
Posted by josh.kuo@gmail.com on 06/03/06 00:23
First of all, I know this is a PHP news group, so my question may not
be completely appropriate here since it involves some perl.
I have read this post that dealt with a similar problem that I am
having now:
http://groups.google.com/group/comp.lang.perl.misc/browse_thread/thre...
Summary of my problem:
I need to have a perl script that encrypts a string, write the output
to a file,
and then have a PHP script read the file, and decrypts it. I took most
of the code from this URL:
http://us2.php.net/manual/en/function.mcrypt-cbc.php
Below is my perl code used to encrypt
<perl>
#!/usr/bin/perl
use MIME::Base64;
use Crypt::CBC;
my $key = '012345678901234567890123456789';
my $iv = '12345678';
my $text = 'This is my plain text';
$cipher = Crypt::CBC->new({'literal_key' => 0,
'key' => $key,
'cipher' => 'Blowfish',
'iv' => $iv,
'padding' => 'null',
'prepend_iv' => 0});
$encrypted = $cipher->encrypt($text);
$encoded = encode_base64($encrypted);
open(FILE, ">encrypt.txt");
print FILE $encoded;
close(FILE);
</perl>
And here's my PHP script used to decrypt:
<?php
$key = '012345678901234567890123456789';
$iv = '12345678';
$lines = file('encrypt.txt');
$encoded = '';
foreach ($lines as $line) {
$encoded .= $line;
}
$encrypted = base64_decode($encoded);
$decrypted = mcrypt_cbc(MCRYPT_BLOWFISH, $key, $bin_encrypted,
MCRYPT_DECRYPT, $iv);
echo "decrypted : [$decrypted]";
exit();
?>
But the decryption doesn't seem to work... If I printed out the base64
encoded strings, they match. So I suspect it's something that I did
not do correctly either in the encryption or decryption of the message.
Any help is appreciated.
Navigation:
[Reply to this message]
|