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

Reply via email to