ID: 41015 Updated by: [EMAIL PROTECTED] 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: --------------- [EMAIL PROTECTED]|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] [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