- Laravel 教程
- Laravel - 首页
- Laravel - 概述
- Laravel - 安装
- Laravel - 应用结构
- Laravel - 配置
- Laravel - 路由
- Laravel - 中间件
- Laravel - 命名空间
- Laravel - 控制器
- Laravel - 请求
- Laravel - Cookie
- Laravel - 响应
- Laravel - 视图
- Laravel - Blade 模板
- Laravel - 重定向
- Laravel - 数据库操作
- Laravel - 错误与日志
- Laravel - 表单
- Laravel - 国际化
- Laravel - 会话
- Laravel - 验证
- Laravel - 文件上传
- Laravel - 发送邮件
- Laravel - Ajax
- Laravel - 错误处理
- Laravel - 事件处理
- Laravel - Facades
- Laravel - Contracts
- Laravel - CSRF 保护
- Laravel - 认证
- Laravel - 授权
- Laravel - Artisan 控制台
- Laravel - 加密
- Laravel - 哈希
- 理解发布流程
- Laravel - 游客用户权限
- Laravel - Artisan 命令
- Laravel - 分页自定义
- Laravel - Dump Server
- Laravel - Action URL
- Laravel 有用资源
- Laravel - 快速指南
- Laravel - 有用资源
- Laravel - 讨论
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) { // Validate the new password length... $request->user()->fill([ 'password' => Hash::make($request->newPassword) // Hashing passwords ])->save(); } }
哈希密码使用 **make** 方法存储。此方法允许管理常用的 Laravel 中的 **bcrypt** 哈希算法的工作因子。
验证密码与哈希值
您应该将密码与哈希值进行验证,以检查用于转换的字符串。为此,您可以使用 **check** 方法。如下面的代码所示:
if (Hash::check('plain-text', $hashedPassword)) { // The passwords match... }
请注意,**check** 方法将纯文本与 **hashedPassword** 变量进行比较,如果结果为真,则返回真值。
广告