ID: 27746 Updated by: [EMAIL PROTECTED] Reported By: taomyn at myway dot com -Status: Assigned +Status: Bogus Bug Type: mcrypt related Operating System: Windows Server 2003 PHP Version: 4.3.6RC1 Assigned To: derick New Comment:
Sorry, but your problem does not imply a bug in PHP itself. For a list of more appropriate places to ask for help using PHP, please visit http://www.php.net/support.php as this bug system is not the appropriate forum for asking support questions. Thank you for your interest in PHP. You need to use the same IV for encrypting and decrypting (so don't use create_iv() like this!) Previous Comments: ------------------------------------------------------------------------ [2004-04-07 11:19:53] [EMAIL PROTECTED] Assigned to the maintainer. :) ------------------------------------------------------------------------ [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