Laravel 哈希
哈希是将字符串转换为较短的固定值或表示原始字符串的键的过程,Laravel 使用 Hash Facade 提供了一种以散列方式保存密码的安全方式。
基本用法
以下截图显示了如何创建名为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) { // 验证新密码长度... $request->user()->fill([ 'password' => Hash::make($request->newPassword) // 哈希密码 ])->save(); } }
哈希的密码是用make方法保存的,这个方法允许管理bcrypt散列算法的工作因素,这个算法在Laravel中被广泛使用。
根据哈希验证密码
你应该根据哈希验证密码以检查用于转换的字符串,为此,你可以使用check方法,如下所示:
if (Hash::check('plain-text', $hashedPassword)) { // 密码匹配... }
请注意,check方法将纯文本与哈希密码变量对比,如果相同则结果为真,否则返回假。