#27746 [Opn->Asn]: Decrypt routines not working as per v4.3.4
| From: | sniper@php.net | Date: | Wed, 07 Apr 2004 15:19:54 +0000 |
| Subject: | #27746 [Opn->Asn]: Decrypt routines not working as per v4.3.4 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-57722@lists.php.net to get a copy of this message | ||
ID: 27746
Updated by: sniper@php.net
Reported By: taomyn at myway dot com
-Status: Open
+Status: Assigned
Bug Type: mcrypt related
Operating System: Windows Server 2003
PHP Version: 4.3.6RC1
-Assigned To:
+Assigned To: derick
New Comment:
Assigned to the maintainer. :)
Previous Comments:
------------------------------------------------------------------------
[2004-03-29 15:30:34] taomyn at myway dot com
<?
$password = "muppets";
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr("dimwits", 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
print "EP===".$password."===\n";
print "EK===".$key."===\n";
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$enc_pwd = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key,
$password,MCRYPT_MODE_ECB, $iv);
print "EE===".$enc_pwd."===\n";
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr("dimwits", 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
print "DP===".$password."===\n";
print "DK===".$key."===\n";
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$dec_pwd = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $enc_pwd,
MCRYPT_MODE_ECB, $iv);
print "DD===".trim(chop($dec_pwd))."===\n";
?>
Under v4.3.4
EP===muppets===
EK===(ë^⌂►¬AÅ░z¶│zE|─===
EE===♣±╦ ↨¡6(Z╣╣k◄Fð`===
DP===muppets===
DK===(ë^⌂►¬AÅ░z¶│zE|─===
DD===muppets===
Under v4.3.5
EP===muppets===
EK===(ë^⌂►¬AÅ░z¶│zE|─===
EE===♣±╦ ↨¡6(Z╣╣k◄Fð`===
DP===muppets===
DK===(ë^⌂►¬AÅ░z¶│zE|─===
DD===♣±╦ ↨¡6(Z╣╣k◄Fð`===
I.E. IT DOESN'T DECRYPT - HAPPY?
------------------------------------------------------------------------
[2004-03-29 03:30:57] taomyn at myway dot com
Description:
------------
My decrypting routines now fail to decrypt and in fact seem to return
the encrypted value.
Reproduce code:
---------------
function encrypt_pwd($password)
{
/* Return encrypted password */
global $config;
$password = trim($password);
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr($config['pass_phrase'], 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
error_log("EP===".$password."===");
error_log("EK===".$key."===");
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$enc_pwd = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $password,
MCRYPT_MODE_ECB, $iv);
error_log("EE===".$enc_pwd."===");
return $enc_pwd;
}
function decrypt_pwd($password)
{
/* Return decrypted password */
global $config;
$iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$key = mhash(MHASH_MD5,substr($config['pass_phrase'], 0,
mcrypt_get_key_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB)));
error_log("DP===".$password."===");
error_log("DK===".$key."===");
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);
$dec_pwd = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $password,
MCRYPT_MODE_ECB, $iv);
error_log("DD===".trim(chop($dec_pwd))."===");
return trim(chop($dec_pwd));
}
Expected result:
----------------
[29-Mar-2004 09:35:31] EP===bubbles10===
[29-Mar-2004 09:35:31] EK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:31] EE===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DP===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:50] DD===bubbles10===
Actual result:
--------------
[29-Mar-2004 09:35:31] EP===bubbles10===
[29-Mar-2004 09:35:31] EK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:31] EE===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DP===u!+½_Yi«¡Oât===
[29-Mar-2004 09:35:50] DK===-ñ ãWqG9î\6===
[29-Mar-2004 09:35:50] DD===u!+½_Yi«¡Oât===
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=27746&edit=1