ID:               41015
 User updated by:  johannes dot guentert at gutedel dot com
 Reported By:      johannes dot guentert at gutedel dot com
 Status:           Open
 Bug Type:         mcrypt related
 Operating System: Windows XP Home, SP2, updated.
 PHP Version:      5.2.1
 New Comment:

I took the above code from http://de3.php.net/mcrypt_decrypt
originally.

php.ini in C:\<php_dir>, the only one in the system-path:
---------------------------------------------------------
extension_dir = c:\<php_dir>\ext
extension=php_mcrypt.dll

It's the only extension i've loaded.

New, simplified code, with blowfish instead of XTEA (test.php):
---------------------------------------------------------------
<?php
$text = "boggles the inivisble monkey will rule the world";
$key = "This is a very secret key";

$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

$enc = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $text, MCRYPT_MODE_ECB,
$iv);
$crypttext = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $enc,
MCRYPT_MODE_ECB, $iv);
echo $crypttext."<br>";
?>

CLI-result (correct):
---------------------
C:\eigene_dateien>php -q test.php
boggles the inivisble monkey will rule the world<br>
C:\eigene_dateien>

Browser-result:
---------------
[EMAIL PROTECTED]|M(M¼…¡\1Nî9lè¿9°ºây×<ÚáPÆoŒëb8ր{


It's still the same problem.


Previous Comments:
------------------------------------------------------------------------

[2007-04-07 08:54:30] johannes dot guentert at gutedel dot com

that doesn't matter, i uncommented the line for the new iv in the
source, same effect.

If this would matter, the CLI-Call wouldn't work also.

------------------------------------------------------------------------

[2007-04-07 08:35:17] [EMAIL PROTECTED]

You need the same IV for encrypting and decrypting - you're generating
a new one for the decrypt process. 

------------------------------------------------------------------------

[2007-04-07 07:21:56] johannes dot guentert at gutedel dot com

Description:
------------
libmcrypt.dll and php_mcrypt.dll are the versions shipped with php
5.2.1, there are no other active dll's of this stuff in the system.

In the browser, encrypting does work without problems, decrypting
doesn't work at all. In CLI there is no problem.

The "decrypted" string is the same as encrypted (binary confused stuff
shown). mcrypt_decrypt() doesn't change the string.

No XAMPP, installed Apache is 2.0.55 in this case.


Reproduce code:
---------------
<?php
$text = "boggles the inivisble monkey will rule the world";
$key = "This is a very secret key";

$iv_size = mcrypt_get_iv_size(MCRYPT_XTEA, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
echo strlen($text) . "<br>";

$enc = mcrypt_encrypt(MCRYPT_XTEA, $key, $text, MCRYPT_MODE_ECB, $iv);
echo strlen($enc) . "<br>";
  
$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_XTEA, $key, $enc, MCRYPT_MODE_ECB,
$iv);
echo "$crypttext<br>";
?>

Expected result:
----------------
Browser:

48
48
42
boggles the inivisble monkey will rule the world


Actual result:
--------------
Browser:

48
48
42
:µá¶ea§0:¥^iÔù£Uœû÷L¥ ¡z ¨ËÏt±DÐ‚Ü–ƒÏR¾ÓøR

CLI:

C:\eigene_dateien>php -q test.php
48<br>48<br>42<br>boggles the inivisble monkey will rule the world<br>
C:\eigene_dateien>



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=41015&edit=1

Reply via email to