Home  >  Article  >  PHP Framework  >  Laravel - Hashing

Laravel - Hashing

PHPz
PHPzOriginal
2024-08-27 10:51:191204browse

Hashing is the process of transforming a string of characters into a shorter fixed value or a key that represents the original string. Laravel uses the Hash facade which provides a secure way for storing passwords in a hashed manner.

Basic Usage

The following screenshot shows how to create a controller named passwordController which is used for storing and updating passwords −

Laravel - Hashing

The following lines of code explain the functionality and usage of the passwordController

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller

class passwordController extends Controller{
   /**
      * Updating the password for the user.
      *
      * @param Request $request
      * @return Response
   */
   
   public function update(Request $request) {
      // Validate the new password length...
      $request->user()->fill([
         &#39;password&#39; => Hash::make($request->newLaravel - Hashing) // Hashing passwords
      ])->save();
   }
}

The hashed passwords are stored using make method. This method allows managing the work factor of the bcrypt hashing algorithm, which is popularly used in Laravel.

Verification of Laravel - Hashing against Hash

You should verify the password against hash to check the string which was used for conversion. For this you can use the check method. This is shown in the code given below −

if (Hash::check(&#39;plain-text&#39;, $hashedLaravel - Hashing)) {
   // The passwords match...
}

Note that the check method compares the plain-text with the hashedLaravel - Hashing variable and if the result is true, it returns a true value.

The above is the detailed content of Laravel - Hashing. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Laravel - EncryptionNext article:Laravel - Encryption