Laravel - Хеширование
Хеширование - это процесс преобразования строки символов в более короткое фиксированное значение или ключ, представляющий исходную строку. Laravel используетHash фасад, который обеспечивает безопасный способ хранения паролей в хешированной форме.
Основное использование
На следующем снимке экрана показано, как создать контроллер с именем passwordController который используется для хранения и обновления паролей -
Следующие строки кода объясняют функциональность и использование 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();
}
}
Хешированные пароли хранятся с использованием makeметод. Этот метод позволяет управлять коэффициентом работыbcrypt алгоритм хеширования, который широко используется в Laravel.
Проверка пароля по хешу
Вы должны проверить пароль по хешу, чтобы проверить строку, которая использовалась для преобразования. Для этого вы можете использоватьcheckметод. Это показано в приведенном ниже коде -
if (Hash::check('plain-text', $hashedPassword)) {
// The passwords match...
}
Обратите внимание, что check сравнивает простой текст с hashedPassword переменная, и если результат истинный, он возвращает истинное значение.