laravel Hash::make keep giving a different results

谁说胖子不能爱 提交于 2019-12-11 03:12:13

问题


I want to use the authentication in laravel 4 I changed the table's and mobel's name

when the user register, I has the password and save it, the hash is :

$password = Hash::make(Input::get('password'));

and then when the user login I want ot authenticate him/her first. I do that like this:

if (Auth::attempt(array('username' => Input::get('usernaem'), 'password' => Hash::make(Input::get('password')))))
{
    return Redirect::intended('dashboard');
}

and that never success. I tried to debug the code and it seems that the Hask::make function always give a different result.

Am I using a good authentication methods? what is the solution for that hash function ?

Many thanks


回答1:


At first, don't use Hash when attempting, it should be like this:

Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password')));

Since you stored the password in your database manually by making a hash using Hash::make() and then pasted it in the database. So it could be a problem. Re-enter the password into the database and insert it pragmatically, then try again.

Also, you may check the password using Hash::check('password', $hashedPassword). Read more about security on Laravel website. Use migration to populate fake data, don't manually put any data into database.




回答2:


Do not hash the password in the auth::attempt() function the code should be like this:

Auth::attempt(array('username' => Input::get('username'), 'password' => Input::get('password')));

The auth::attempt() will hash the password and then check if it matches the one stored in the database



来源:https://stackoverflow.com/questions/24396156/laravel-hashmake-keep-giving-a-different-results

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!