/** * * @param string $login * @param string $password * @return boolean */ public static function checkPassword($login, $password) { $loginResult = false; $userId = User::getIdByParameter('login', array($login)); if (is_array($userId) && count($userId) > 0) { $user = User::getParameters($userId[0], array('password')); $explodedStoredPassword = explode('::', $user['password']); $hashedPassword = hash_pbkdf2('sha256', $password, $explodedStoredPassword[0], $explodedStoredPassword[1], 183); if ($explodedStoredPassword[2] === $hashedPassword) { $loginResult = true; } } return $loginResult; }
public function testGetIdByParameter() { $testResult = array(2); $result = User::getIdByParameter('login', 'User 1'); $this->assertEquals($testResult, $result); $testResult = array(2, 3); $result = User::getIdByParameter('login', array('User 1', 'User 2')); $this->assertEquals($testResult, $result); $this->setExpectedException('PDOException', '', '42S22'); User::getIdByParameter('errColumn', 'Bad user'); }