Laravel - Hash

El hash es el proceso de transformar una cadena de caracteres en un valor fijo más corto o una clave que representa la cadena original. Laravel usa elHash fachada que proporciona una forma segura de almacenar contraseñas de forma hash.

Uso básico

La siguiente captura de pantalla muestra cómo crear un controlador llamado passwordController que se utiliza para almacenar y actualizar contraseñas -

Las siguientes líneas de código explican la funcionalidad y el uso del 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([
         'password' => Hash::make($request->newPassword) // Hashing passwords
      ])->save();
   }
}

Las contraseñas hash se almacenan usando makemétodo. Este método permite gestionar el factor de trabajo delbcrypt algoritmo hash, que se usa popularmente en Laravel.

Verificación de contraseña contra Hash

Debe verificar la contraseña contra el hash para verificar la cadena que se utilizó para la conversión. Para esto puedes usar elcheckmétodo. Esto se muestra en el código que se proporciona a continuación:

if (Hash::check('plain-text', $hashedPassword)) {
   // The passwords match...
}

Tenga en cuenta que el check El método compara el texto plano con el hashedPassword variable y si el resultado es verdadero, devuelve un valor verdadero.