我有一个用于编辑电子邮件和用户表的其他详细信息的表单。其他详细信息是我添加到用户表的列。
我希望能够编辑密码,我有几个选择。
在编辑视图中,将密码和确认密码字段留空(密码字段中不显示数据库中的值),并允许用户输入新密码。只有管理员才能编辑用户,因此我没有输入旧密码功能。
将bcrypt加密密码解密为纯文本,并在密码字段中填写原始文本密码,并将表单字段更改为文本而不是密码。
使用存储在用户密码的密码字段中的bcrypt字符串填充密码字段。
是否可以在laravel中解密用户密码?
答案 0 :(得分:1)
什么阻止您更新密码?
$user->password = bcrypt($newPassword);
$user->save()
没有充分的理由解密密码或将其保存在纯文本中。事实上,bcrypt禁止你解密它。
直接回答您的问题:选项1是 only 选项。
编辑:第二个问题
在与其他表单一起编辑时向用户显示 领域。在编辑表单中,密码字段内的内容是什么?该 密码格式的黑点(字符)或明文或密码 来自用户表的长bcrypt哈希?。
你可以把你想要的东西放在那里吗?你可以把它留空,或者你可以显示星星,点,等等。重要的是你如何在后端请求中处理它。
将它留空,这样你就可以直接检查后端是否有任何东西被放入现场:
if($request->has('new_password') {
// update password
}