Php 比较确认密码和散列密码| Laravel 4

Php 比较确认密码和散列密码| Laravel 4,php,mysql,hash,laravel,laravel-4,Php,Mysql,Hash,Laravel,Laravel 4,我正在尝试获取确认密码,以便与表单中的密码字段相对应。我检查了验证器方法,它们似乎都工作得很好。然而,当我试图确认密码时,每次密码必须匹配时,我都会收到一条错误消息。挠头我只能确定这是因为它们在通过验证之前被哈希了。我不知道如何克服这个问题,因为它们需要在输入数据库之前进行散列。有什么想法吗 getSignUp控制器 public function getSignUp() { $userdata = array( 'emai

我正在尝试获取确认密码,以便与表单中的密码字段相对应。我检查了验证器方法,它们似乎都工作得很好。然而,当我试图确认密码时,每次密码必须匹配时,我都会收到一条错误消息。挠头我只能确定这是因为它们在通过验证之前被哈希了。我不知道如何克服这个问题,因为它们需要在输入数据库之前进行散列。有什么想法吗

getSignUp控制器

        public function getSignUp() {
            $userdata = array(
                'email' => Input::get('email'),
                'password' => Hash::make(Input::get('password')),
                'confirm_password' => Hash::make(Input::get('confirm_password')),
                'user_zip_code' => Input::get('user_zip_code')         
            );

            $rules = array(
                'email' => 'required|email|unique:users,email',
                'password' => 'required|min:5',
                'confirm_password' => 'required|same:password',
                'user_zip_code' => 'required'
            );

            $validation = Validator::make($userdata, $rules);

            if($validation->fails()){
                return Redirect::to('signup')->withErrors($validation)->withInput();
            } 

            $user = new User($userdata);
            $user->save();

            return Redirect::to('login');
    }

如果需要更多的代码,请告诉我。我只是让威瑟罗进入刀片模板的注册页面,不要将散列密码传递给验证器。保存前先对其进行哈希:

public function getSignUp() {
    $userdata = array(
        'email' => Input::get('email'),
        'password' => Input::get('password'),
        'confirm_password' => Input::get('confirm_password'),
        'user_zip_code' => Input::get('user_zip_code')         
    );

    $rules = ...

    $validation = Validator::make($userdata, $rules);

    if($validation->fails()){
        return Redirect::to('signup')->withErrors($validation)->withInput();
    } 

    $userdata['password'] = Hash::make($userdata['password']);

    $user = new User($userdata);
    $user->save();

    return Redirect::to('login');
}

不要将哈希密码传递给验证器。保存前先对其进行哈希:

public function getSignUp() {
    $userdata = array(
        'email' => Input::get('email'),
        'password' => Input::get('password'),
        'confirm_password' => Input::get('confirm_password'),
        'user_zip_code' => Input::get('user_zip_code')         
    );

    $rules = ...

    $validation = Validator::make($userdata, $rules);

    if($validation->fails()){
        return Redirect::to('signup')->withErrors($validation)->withInput();
    } 

    $userdata['password'] = Hash::make($userdata['password']);

    $user = new User($userdata);
    $user->save();

    return Redirect::to('login');
}