【发布时间】:2019-01-24 15:23:12
【问题描述】:
我有一个网站,密码以纯文本形式存储。现在我转换为 Laravel 5,我想将所有这些用户的普通密码转换为来自 PhpMyAdmin 的 Laravel 加密密码。因此,我需要一条 SQL 语句将密码列中的所有密码转换为 Laravel 加密密码。
如果无法从 PhpMyAdmin 执行此操作,请说明另一种选择。
提前致谢。
【问题讨论】:
标签: php sql laravel phpmyadmin
我有一个网站,密码以纯文本形式存储。现在我转换为 Laravel 5,我想将所有这些用户的普通密码转换为来自 PhpMyAdmin 的 Laravel 加密密码。因此,我需要一条 SQL 语句将密码列中的所有密码转换为 Laravel 加密密码。
如果无法从 PhpMyAdmin 执行此操作,请说明另一种选择。
提前致谢。
【问题讨论】:
标签: php sql laravel phpmyadmin
你不加密密码,你散列它们。不会有一条 SQL 语句来执行应用程序级别的哈希、遍历所有用户并在 Laravel 中更新他们的密码:
User::all()->each(function($user) {
$user->update(['password' => bcrypt($user->password)]);
});
注意:验证您的密码列的长度是否可以存储完整的哈希值。 (我建议只使用 varchar 255)
【讨论】:
Hash::make($new_password) 并在控制器顶部放置use Hash;。