Laravel - Hashing

L'hashing è il processo di trasformazione di una stringa di caratteri in un valore fisso più breve o in una chiave che rappresenta la stringa originale. Laravel utilizza l'estensioneHash facciata che fornisce un modo sicuro per memorizzare le password in modo hash.

Utilizzo di base

Lo screenshot seguente mostra come creare un controller denominato passwordController che viene utilizzato per memorizzare e aggiornare le password -

Le seguenti righe di codice spiegano la funzionalità e l'utilizzo di 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();
   }
}

Le password con hash vengono archiviate utilizzando makemetodo. Questo metodo permette di gestire il fattore lavoro delbcrypt algoritmo di hashing, comunemente usato in Laravel.

Verifica della password rispetto all'hash

È necessario verificare la password rispetto all'hash per controllare la stringa utilizzata per la conversione. Per questo puoi usare il filecheckmetodo. Questo è mostrato nel codice dato di seguito -

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

Nota che il check il metodo confronta il testo normale con il hashedPassword variabile e se il risultato è vero, restituisce un valore vero.