it-swarm-eu.dev

Come creare una laravel password con hash

Sto cercando di creare una password con hash per Laravel. Ora qualcuno mi ha detto di usare Laravel hash helper ma non riesco a trovarlo o sto guardando nella direzione sbagliata.

Come posso creare una laravel hash password? E dove?

Modifica: so qual è il codice ma non so dove e come utilizzarlo, quindi mi restituisce la password con hash. Se ottengo la password con hash, posso inserirla manualmente nel database

70
Graham

Hashing di una password usando Bcrypt in Laravel:

$password = Hash::make('yourpassword');

Questo creerà una password con hash. È possibile utilizzarlo nel controller o anche in un modello, ad esempio, se un utente invia una password utilizzando un modulo al controller utilizzando il metodo POST, è possibile eseguire l'hash utilizzando qualcosa del genere:

$password = Input::get('passwordformfield'); // password is form field
$hashed = Hash::make($password);

Qui, $hashed Conterrà la password con hash. Fondamentalmente, lo farai durante la creazione/registrazione di un nuovo utente, quindi, ad esempio, se un utente invia dettagli come name, email, username e password etc utilizzando un modulo, quindi prima di inserire i dati nel database, avrai la password di hash dopo aver convalidato i dati. Per ulteriori informazioni, leggi la documentazione .

Aggiornamento:

$password = 'JohnDoe';
$hashedPassword = Hash::make($password);
echo $hashedPassword; // $2y$10$jSAr/RwmjhwioDlJErOk9OQEO7huLz9O6Iuf/udyGbHPiTNuB3Iuy

Quindi, inserirai $hashedPassword Nel database. Spero, sia chiaro ora e se sei ancora confuso, ti consiglio di leggere alcuni tutorial, guardare alcune schermate su laracasts.com e tutsplus.com e leggere anche un prenota su Laravel, questo è un ebook gratuito , puoi scaricarlo.

Aggiornamento: Poiché OP desidera crittografare manualmente la password utilizzando Laravel Hash senza qualsiasi classe o modulo, quindi questo è un modo alternativo usando artisan tinker dal prompt dei comandi:

  1. Vai al tuo prompt dei comandi/terminale
  2. Passare all'installazione Laravel (la directory principale del progetto)
  3. Usa cd <directory name> E premi invio dal comando Prompt/terminale
  4. Quindi scrivi php artisan tinker E premi Invio
  5. Quindi scrivi echo Hash::make('somestring');
  6. Riceverai una password con hash sulla console, copiarla e poi fare quello che vuoi fare.

Aggiornamento (Laravel 5.x):

// Also one can use bcrypt
$password = bcrypt('JohnDoe');

150
The Alpha

Laravel 5 utilizza bcrypt. Quindi, puoi farlo anche tu.

$hashedpassword = bcrypt('plaintextpassword');

output del quale è possibile salvare nel campo password della tabella del database.

Rif. Fn: criptato

14
Rao

La facciata Laravel Hash fornisce hash Bcrypt sicuro per la memorizzazione delle password degli utenti.

L'utilizzo di base ha richiesto due cose:

Per prima cosa includi la facciata nel tuo file

use Illuminate\Support\Facades\Hash;

e usa il metodo Make per generare la password.

$hashedPassword = Hash::make($request->newPassword);

e quando si desidera abbinare la stringa con hash è possibile utilizzare il codice seguente:

Hash::check($request->newPasswordAtLogin, $hashedPassword)

Puoi saperne di più con il Laravel link del documento qui sotto per l'hashing: https://laravel.com/docs/5.5/hashing

7
Prashant Barve

Per memorizzare la password nel database, crea l'hash della password e poi salva.

$password = Input::get('password_from_user'); 
$hashed = Hash::make($password); // save $hashed value

Per verificare la password, ottenere la password memorizzata dell'account dal database

// $user is database object
// $inputs is Input from user
if( \Illuminate\Support\Facades\Hash::check( $inputs['password'], $user['password']) == false) {
  // Password is not matching 
} else {
  // Password is matching 
}
4
Somnath Muluk

È possibile utilizzare quanto segue:

$hashed_password = Hash::make('Your Unhashed Password');

Puoi trovare ulteriori informazioni: qui

2
Chris G

Se vuoi capire come funziona excatly laravel puoi rivedere la classe completa su Github: https://github.com/illuminate/hashing/blob/master/BcryptHasher.php

Ma sostanzialmente ci sono tre PHP coinvolti in questo:

$pasword = 'user-password';
// To create a valid password out of laravel Try out!
$cost=10; // Default cost
$password = password_hash($pasword, PASSWORD_BCRYPT, ['cost' => $cost]);

// To validate the password you can use
$hash = '$2y$10$NhRNj6QF.Bo6ePSRsClYD.4zHFyoQr/WOdcESjIuRsluN1DvzqSHm';

if (password_verify($pasword, $hash)) {
   echo 'Password is valid!';
} else {
   echo 'Invalid password.';
}

//Finally if you have a $hash but you want to know the information about that hash. 
print_r( password_get_info( $password_hash ));

La password con hash è uguale a laravel 5.x bcrypt password. Non c'è bisogno di dare sale e costi, prenderà i suoi valori di default.

Tali metodi sono stati implementati nella classe laravel, ma se vuoi saperne di più consulta la documentazione ufficiale: http://php.net/manual/en/function. password hash.php

2
Jathin Prasad

In BcryptHasher.php puoi trovare il codice hash:

public function make($value, array $options = array())
{
    $cost = isset($options['rounds']) ? $options['rounds'] : $this->rounds;

    $hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost));

            $hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost));
            echo $value.' '.PASSWORD_BCRYPT.' '.$cost.' ';
            echo $hash;die();
    if ($hash === false)
    {
        throw new RuntimeException("Bcrypt hashing not supported.");
    }

    return $hash;
}
1
hendra1
use Illuminate\Support\Facades\Hash;
if(Hash::check($plain-text,$hashed-text))
    {
       return true;
    }
    else
    {
        return false;
    }

ad es. $ plain-text = 'text'; $ Hash-text = Hash :: make ( 'testo');

0
Dharmendra Patel

Confronta la password in laravel e Lumen:

Questo potrebbe essere possibile che la funzione bcrypt non funzioni con php7, quindi puoi usare il codice seguente in laravel e Lumen secondo i tuoi requisiti:

use Illuminate\Support\Facades\Hash;

$test = app('hash')->make("test");
if (Hash::check('test', $test)) {
   echo "matched";
} else {
   echo "no matched";
}

Spero che questo aiuto ti renda felice :)

0
Kamlesh