Duffy, Scott E wrote:
Trying to encrypt then decrypt text with php using mcrypt. The encrypt seems to
work but when I decrypt it with a different script I get most of it but some
garbage. Using blowfish. So to test.
Encrypt.php
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "Meet me at 11 o'clock behind the monument.";
//echo strlen($text) . "\n";
$crypttext = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $text, MCRYPT_MODE_ECB,
$iv);
echo $crypttext. "\n";
decrypt.php
$server = $_SERVER['SERVER_NAME'];
$url = 'http://'.$server.'/encrypt.php';
$fh = fopen($url,'r') or die ("cant open: $php_errormsg");
$new_string="";
while (! feof($fh))
{
$new_string = $new_string.rtrim(fgets($fh,4096));
}
$enc=$newstring;
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$enc=$_POST['text'];
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$key = "This is a very secret key";
$text = "Meet me at 11 o'clock behind the monument.";
//echo strlen($text) . "<br>";
$crypttext = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $enc, MCRYPT_MODE_ECB, $iv);
echo "$crypttext<br>";
I get from decrypt
Meet me at 11 o'clock behind the monumen3ýÚ·nÃt<br>
Is it doing some padding or something? When I encrypt/decrypt same script it
works fine.
Maybe something to do with these?
$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
Thanks,
Scott Duffy
Look at trim(). And your right it does have to do with using ECB.
--
Jason Gerfen
"The charge that he had insulted Turkey's armed forces was dropped, but he still faces the
charge that he insulted "Turkishness", lawyers said."
~ BBC News Article
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php