【问题标题】:Laravel 5 - Text to Encrypted PasswordLaravel 5 - 文本到加密密码
【发布时间】:2019-01-24 15:23:12
【问题描述】:

我有一个网站,密码以纯文本形式存储。现在我转换为 Laravel 5,我想将所有这些用户的普通密码转换为来自 PhpMyAdmin 的 Laravel 加密密码。因此,我需要一条 SQL 语句将密码列中的所有密码转换为 Laravel 加密密码。

如果无法从 PhpMyAdmin 执行此操作,请说明另一种选择。

提前致谢。

【问题讨论】:

    标签: php sql laravel phpmyadmin


    【解决方案1】:

    你不加密密码,你散列它们。不会有一条 SQL 语句来执行应用程序级别的哈希、遍历所有用户并在 Laravel 中更新他们的密码:

    User::all()->each(function($user) {
       $user->update(['password' => bcrypt($user->password)]);
    });
    

    注意:验证您的密码列的长度是否可以存储完整的哈希值。 (我建议只使用 varchar 255)

    【讨论】:

    • OP 还请注意,由于现有密码是纯文本,因此应将其视为已泄露。进行此转换后,您应该强制所有用户更改密码。
    • 普通密码已更改,但我无法登录。正如我在用户更新密码时看到的文件,然后使用Hash::make($new_password) 并在控制器顶部放置use Hash;
    • Hash::make 与 bcrypt() 相同。
    猜你喜欢
    • 2015-05-27
    • 2023-04-05
    • 2016-05-11
    • 1970-01-01
    • 2013-04-16
    • 1970-01-01
    • 2018-09-05
    • 2015-11-25
    • 2015-08-22
    相关资源
    最近更新 更多