如何创建拉拉维尔散列密码

2022-08-30 07:11:50

我正在尝试为Laravel创建一个散列密码。现在有人告诉我使用Laravel哈希助手,但我似乎找不到它,或者我找错了方向。

如何创建拉拉维尔哈希密码?在哪里?

编辑:我知道代码是什么,但我不知道在哪里以及如何使用它,所以它给了我散列密码。如果我得到散列密码,那么我可以手动将其插入数据库


答案 1

在以下位置使用 Bcrypt 散列密码:Laravel

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

这将创建一个散列密码。您可以在控制器甚至模型中使用它,例如,如果用户使用表单向控制器提交密码,则您可以使用如下方法对其进行哈希处理:POST

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

在这里,将包含散列密码。基本上,您将在创建/注册新用户时执行此操作,因此,例如,如果用户使用表单提交诸如,,,等详细信息,则在将数据插入数据库之前,您将在验证数据后散列密码。有关详细信息,请阅读文档$hashednameemailusernamepassword

更新:

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

因此,您需要将 插入到数据库中。希望,现在很清楚,如果你仍然感到困惑,那么我建议你阅读一些教程,观看一些关于 laracasts.comtutsplus.com 的屏幕投射,并阅读一本书,这是一本免费的电子书,你可以下载它。$hashedPasswordLaravel

更新:由于想要使用Laravel手动加密密码而无需任何类或表单,因此这是使用命令提示符的另一种方法:OPHashartisan tinker

  1. 转到命令提示符/终端
  2. 导航到安装(项目的根目录)Laravel
  3. 从命令提示符/终端使用并按回车键cd <directory name>
  4. 然后写入并按回车键php artisan tinker
  5. 然后写echo Hash::make('somestring');
  6. 您将在控制台上获得一个散列密码,复制它,然后执行任何您想要执行的操作。

更新(Laravel 5.x):

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


答案 2

拉拉维尔 5 使用 .因此,您也可以执行此操作。bcrypt

$hashedpassword = bcrypt('plaintextpassword');

输出,您可以将其保存到数据库表的密码字段中。

Fn Ref: bcrypt


推荐