如何以编辑形式显示解密的用户密码?
DefaultPasswordHasher
使用Hashing
注册users
时使用protected function _setPassword($password) {
return (new DefaultPasswordHasher)->hash($password);
}
密码:
user table
效果很好,密码已加密......
但是当我在view page
和edit page
中使用CakePHP 3.x
时,它会显示加密密码。那么如何在控制器中解密密码呢?在编辑页面时,它还解密并存储在{{1}}的数据库中?
答案 0 :(得分:10)
简单的答案是:你不能
哈希的全部意义在于您无法对密码进行反向工程。因此,当您的数据库被黑客入侵或泄露时,不会对密码造成任何伤害。
任何显示您自己密码的网站都存在严重的安全问题,我不会使用它。
显示加密密码也没有意义。不需要编辑密码,只需覆盖旧密码(当他们仍然可以提供旧密码时),如果您的某个用户忘记了自己的密码,您应该使用他们的电子邮件为他们提供恢复系统。 / p>