将纯密码转换为 Laravel 加密密码

Converting plain password to Laravel encrypted password

我有一个名为 "users" 的 table,其中我有用户名和密码。

密码为明文。现在我已经使用 Laravel 5.4 和 Auth 创建了一个新站点。

因此,如果用户想登录我的网站,我需要将我的密码纯文本转换为加密的新密码。

如何从我的身份验证中获取 "salt" 以及如何从我的普通密码和 "salt" 中获取加密密码的工具。原因是因为我在用户 table 中创建了一个新列,所以我想将使用查询加密的密码放在那里。

感谢您的帮助!

Laravel 使用 bcrypt() 来散列密码。假设您将纯文本密码存储在 users.password 中,您只需要遍历并 bcrpyt() 它们。

\App\User::get()->each(function ($user) {
    $user->password = bcrypt($user->password);
    $user->save();
});

以上代码将用散列值覆盖存储在users.password中的纯文本值。执行此操作后,用户应该能够使用 Laravel 的身份验证登录。此外,您将无法检索用户的明文密码。这很好,这就是散列密码的重点。