如何创建一个laravel哈希密码

11 浏览
0 Comments

如何创建一个laravel哈希密码

我正在尝试为Laravel创建一个哈希密码。现在有人告诉我要使用Laravel的哈希助手,但我似乎找不到它,或者我找错了方向。\n我应该如何创建Laravel的哈希密码?在哪里?\n编辑:\n我知道代码是什么,但我不知道在哪里和如何使用它,以便它返回给我哈希密码。如果我得到哈希密码,我可以手动将其插入数据库中。

0
0 Comments

问题的出现原因:用户想要创建一个Laravel哈希密码,但不知道如何获取哈希密码的值。

解决方法:通过Laravel的tinker工具来获取哈希密码的值。

步骤:

1. 打开任意Laravel项目的命令行界面。

2. 输入命令php artisan tinker来启动tinker工具。

3. 在tinker工具中输入命令echo Hash::make('123456');,其中'123456'是你想要哈希的密码。

4. tinker工具会返回一个哈希后的密码值,类似于$2y$10$JHK.2MTc9ORMmmlqoF.gg.SwDLnevVSj1oreHParu5PvcPEDOWqe6

5. 复制这个哈希密码的值,以便在你的特定情况下使用。

这样,你就成功地创建了一个Laravel哈希密码,并且获取到了其值。

0
0 Comments

问题:如何创建一个Laravel哈希密码?

原因:Laravel提供了Hash门面,用于安全地进行Bcrypt哈希处理以存储用户密码。

解决方法:基本使用需要两个步骤。首先,在文件中引入Facade:

use Illuminate\Support\Facades\Hash;

然后使用Make方法生成密码哈希:

$hashedPassword = Hash::make($request->newPassword);

当需要比对哈希字符串时,可以使用以下代码:

Hash::check($request->newPasswordAtLogin, $hashedPassword)

可以通过以下Laravel文档链接了解更多关于哈希的内容:

https://laravel.com/docs/5.5/hashing

0
0 Comments

如何创建一个Laravel哈希密码

在Laravel中使用Bcrypt哈希密码:

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

这将创建一个哈希密码。您可以在控制器中使用它,甚至在模型中使用它,例如,如果用户使用表单通过POST方法将密码提交给您的控制器,您可以使用以下方式哈希它:

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

在这里,$hashed将包含哈希密码。基本上,您将在创建/注册新用户时这样做,因此,例如,如果用户使用表单提交了诸如name、email、username和password等详细信息,那么在将数据插入数据库之前,在验证数据之后,您将哈希密码。有关更多信息,请参阅文档。

更新:

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

所以,您将$hashedPassword插入数据库。希望现在清楚了,如果您仍然困惑,我建议您阅读一些教程,在laracasts.com和tutsplus.com上观看一些屏幕录像,并阅读一本关于Laravel的书籍,这是一本免费的电子书,您可以下载。

更新:由于OP想要使用Laravel Hash手动加密密码,而不使用任何类或表单,所以这是一种使用命令提示符的artisan tinker的替代方法:

1. 打开命令提示符/终端。

2. 切换到Laravel安装目录(项目的根目录)。

3. 使用cd <目录名称>并按回车键。

4. 然后输入php artisan tinker并按回车键。

5. 然后输入echo Hash::make('somestring');。

更新(Laravel 5.x):

// 也可以使用bcrypt
$password = bcrypt('JohnDoe');

但是我应该在哪里做这个。我遇到过几次这种情况。

我想我问错了问题。我的数据库(我从别人那里得到的)只有用户的哈希密码。现在我想创建一个应该由Laravel进行哈希的密码。我如何创建一个哈希密码,以便可以将其输入到数据库中。

这就是我回答的,要将密码保存到数据库中,您需要对其进行加密,因此,从明文密码开始,您将使用Hash::make('passwordstring')对其进行加密,然后将这个哈希密码保存在数据库中。

但是我该怎么做呢?如果我只是创建一个php文件,这行不通。正如您所理解的,我对Laravel还很陌生

我想我仍然有一个误导性的问题。因为我明白你的意思。但是我应该在哪个文件中使用这段代码?在哪里或......?因为我只会使用一次。这不是为了某种我可以添加用户之类的表单。

请用简单易懂的词或短语描述您要做的事情。

我有一个名为users的表,我可以在其中添加另一个用户。所有的密码都由Laravel进行哈希。如何获取我的密码哈希,以便我可以将其输入到我的数据库中。我知道我必须使用Hash::make(myPassword),但我如何使用它?如果我只是在我的Laravel项目中创建一个php文件并运行它,它不起作用。所以我在哪里可以使用它来获取我的密码哈希?

您想要手动逐个哈希密码,然后手动将每个密码保存在数据库中吗?

是的。我只想添加一个用户,然后手动将其添加到数据库中。这可行吗?

您的操作系统是什么,无论如何,检查更新的答案。

请尽快告诉我结果,我现在要离开了。

非常感谢。这就是我所需要的。我想给你点赞,但我没有足够的声誉。

不客气,没关系,我从您那里得到了声誉,因为您说了这些,并且已经足够了,还给您的问题+1 🙂

对于使用Laravel 5.0的人来说,由于某种原因,如果您使用php artisan tinker方法更新密码,它会自动为您进行哈希,因此您需要执行以下操作:`$u1->password = 'plaintextpassword'; $u1->save();`而不是`$u1->password = Hash::make('plaintextpassword'); $u1->save();`。我不知道为什么,但事情就是这样。浪费了半个小时纠结于为什么我的密码更改不起作用。结果,它们已经被预先哈希了。

嗨,先生,你能帮我解决一下这个问题吗? stackoverflow.com/questions/50771638/… 谢谢

0