我有一个名为“users”的表格,其中包含我的用户的用户名和密码。
密码是纯文本。现在我用Laravel 5.4和Auth创建了一个新站点。
因此,如果用户想要登录我的网站,我需要将我的密码纯文本转换为加密的新密码。
如何从我的Auth获取“salt”以及从我的普通密码和“salt”获取加密密码的工具。原因是因为我在users表中创建了一个新列,所以我想在那里放置使用查询加密的密码。
感谢您的帮助!
答案 0 :(得分:2)
Laravel使用bcrypt()
来散列密码。假设您在users.password
中存储了纯文本密码,则只需循环遍历bcrpyt()
。
\App\User::get()->each(function ($user) {
$user->password = bcrypt($user->password);
$user->save();
});
上面的代码将使用散列值覆盖users.password
中存储的纯文本值。执行此操作后,用户应该能够使用Laravel的auth登录。此外,您将无法检索用户的纯文本密码。这很好,并且是散列密码的重点。