#41015 [Opn->Fbk]: decrypt doesn't work with web, CLI does!
| From: | derick@php.net | Date: | Sat, 07 Apr 2007 11:08:52 +0000 |
| Subject: | #41015 [Opn->Fbk]: decrypt doesn't work with web, CLI does! | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-111188@lists.php.net to get a copy of this message | ||
ID: 41015
Updated by: derick@php.net
Reported By: johannes dot guentert at gutedel dot com
-Status: Open
+Status: Feedback
Bug Type: mcrypt related
Operating System: Windows XP Home, SP2, updated.
PHP Version: 5.2.1
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5.2-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.2-win32-latest.zip
It works fine for me on Linux both in the browser and on CLI with
PHP-5.2.2dev
Previous Comments:
------------------------------------------------------------------------
[2007-04-07 09:32:51] johannes dot guentert at gutedel dot com
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:
---------------
gå¤üÈ@æ£Ò|M(M¼
¡\1Nî9lè¿9°ºây×<ÚáPÆoëb8Ö{
It's still the same problem.
------------------------------------------------------------------------
[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] derick@php.net
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