In this post, i will tell you how to validate password with database password using Hash::check
method.
For security reasons, Laravel provides Hash facade to store your password in secure Bcrypt hashing.
So while you are going to change your password then it first validate with database password using Hash::check
if match then you update your password with new password.
Make sure old password should be generated by Hash::make
.
For security, you must define in your form to type the password twice to confirm it.
Larave have so many validation rules and as you will see in below example i have validated confirm password must match with new password.
In this example, i have created a panel where user will enter their old password with new password to update their password.
There will be three input field in form :
- old password
- new password
- confirm password
- public function updatePassword(Request $request)
- {
- $this->validate($request, [
- 'old_password' => 'required',
- 'new_password' => 'required|min:6',
- 'confirm_password' => 'required|same:new_password',
- ]);
- $data = $request->all();
- $user = User::find(auth()->user()->id);
- if(!Hash::check($data['old_password'], $user->password)){
- return back()
- ->with('error','The specified password does not match the database password');
- }else{
- // write code to update password
- }
- }