Laravel 哈希
哈希是将字符串转换为较短的固定值或代表原始字符串的密钥的过程。Laravel使用 Hash 外观,提供了一种安全的方式来以哈希方式存储密码。
基本用法
以下屏幕截图显示如何创建一个名为 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(Requestrequest) {
// 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 变量进行比较,如果结果为真,则返回真值。