/** * @brief Compare plain text password to the password saved in DB */ function isValidPassword($hashed_password, $password_text, $member_srl = null) { // False if no password in entered if (!$password_text) { return false; } $isSha1 = $this->useSha1 && function_exists('sha1'); // Return true if the user input is equal to md5 hash value if ($hashed_password == md5($password_text)) { if ($isSha1 && $member_srl > 0) { $args = new stdClass(); $args->member_srl = $member_srl; $args->hashed_password = md5(sha1(md5($password_text))); $oMemberController = getController('member'); $oMemberController->updateMemberPassword($args); } return true; } // Return true if the user input is equal to the value of mysql_pre4_hash_password if (mysql_pre4_hash_password($password_text) == $hashed_password) { if ($isSha1 && $member_srl > 0) { $args = new stdClass(); $args->member_srl = $member_srl; $args->hashed_password = md5(sha1(md5($password_text))); $oMemberController = getController('member'); $oMemberController->updateMemberPassword($args); } return true; } // Verify the password by using old_password if the current db is MySQL. If correct, return true. if (substr(Context::getDBType(), 0, 5) == 'mysql') { $oDB =& DB::getInstance(); if ($oDB->isValidOldPassword($password_text, $hashed_password)) { if ($isSha1 && $member_srl > 0) { $args = new stdClass(); $args->member_srl = $member_srl; $args->hashed_password = md5(sha1(md5($password_text))); $oMemberController = getController('member'); $oMemberController->updateMemberPassword($args); } return true; } } if ($isSha1 && $hashed_password == md5(sha1(md5($password_text)))) { return true; } return false; }
/** * @brief 입력된 plain text 비밀번호와 DB에 저장된 비밀번호와의 비교 **/ function isValidPassword($hashed_password, $password_text) { // 입력된 비밀번호가 없으면 무조건 falase if (!$password_text) { return false; } // md5 해쉬된값가 맞으면 return true if ($hashed_password == md5($password_text)) { return true; } // mysql_pre4_hash_password함수의 값과 동일하면 return true if (mysql_pre4_hash_password($password_text) == $hashed_password) { return true; } // 현재 DB에서 mysql DB를 이용시 직접 old_password를 이용하여 검사하고 맞으면 비밀번호를 변경 if (substr(Context::getDBType(), 0, 5) == 'mysql') { $oDB =& DB::getInstance(); if ($oDB->isValidOldPassword($password_text, $hashed_password)) { return true; } } return false; }