我有一个网站,密码以纯文本格式存储。现在,我转换为Laravel 5,我想将用户的所有普通密码转换为PhpMyAdmin的Laravel加密密码。因此,我需要一条SQL语句将密码列中的所有密码转换为Laravel加密密码。
如果无法通过PhpMyAdmin进行操作,请说明另一种选择。
谢谢。
答案 0 :(得分:5)
您不加密密码,而是对它们进行哈希处理。不会有一条SQL语句来执行应用程序级别的哈希,遍历所有用户并在Laravel中更新其密码:
User::all()->each(function($user) {
$user->update(['password' => bcrypt($user->password)]);
});
注意:验证密码列的长度可以存储完整的哈希。 (我建议只使用varchar 255)