MD5密码登录,无法正常工作

时间:2014-03-10 08:28:02

标签: php validation login md5

我正在尝试建立一个新的登录/注册系统。我的用户现在可以注册,但我们无法在尝试登录时获取信息

if(Input::exists()){
    if (Token::check(Input::get('token'))){

        $validate = new Validate();
        $validation = $validate->check($_POST, array(
            'username' => array('required' => true),
            'password' => array('required' => true)
        ));

        if($validation->passed()){
            // log user in
            $user = new User();
            $login = $user->login(Input::get('username'), md5('password'));
            if($login){
                echo "succes";
            } else {
                echo '<p>Sorry, logging in failed</p>';
            }

        }else{
            foreach($validation->errors() as $error){
                echo $error, "<br>";
            }
        }
    }
}

这个代码为什么他们不能登录?我认为它与md5('密码')有关。 因为我总是得到错误:抱歉,登录失败。 这是Passed()

public function passed() {
    return $this->_passed;
}

这是登录()

public function login($username = null, $password = null){      
        $user = $this->find($username);

        if($user){
            if($this->data()->password === Hash::make($password, $this->data()->salt)){
                echo 'OK!';
            }
        }

        return false;
    }
    private function data(){
        return $this->_data;
    }

我以前习惯使用盐但是生成一个人花了很长时间ii也不知道为什么那样的我也会很快就这个话题但是现在我想用MD5来制作我的其他功能。

1 个答案:

答案 0 :(得分:0)

看起来好像在使用Laravel?或类似的东西。

请改为尝试:

$login = $user->login(Input::get('username'), 'password');

或者你想要:

$login = $user->login(Input::get('username'), Input::get('password'));

login()函数似乎已经在使用Hash :: make

进行哈希转换
相关问题