CakePHP 3:加密/解密密码

时间:2015-10-02 09:54:07

标签: cakephp-3.0

如何以编辑形式显示解密的用户密码?

DefaultPasswordHasher使用Hashing注册users时使用protected function _setPassword($password) { return (new DefaultPasswordHasher)->hash($password); } 密码:

user table

效果很好,密码已加密......

但是当我在view pageedit page中使用CakePHP 3.x时,它会显示加密密码。那么如何在控制器中解密密码呢?在编辑页面时,它还解密并存储在{{1}}的数据库中?

1 个答案:

答案 0 :(得分:10)

简单的答案是:你不能

哈希的全部意义在于您无法对密码进行反向工程。因此,当您的数据库被黑客入侵或泄露时,不会对密码造成任何伤害。

任何显示您自己密码的网站都存在严重的安全问题,我不会使用它。

显示加密密码也没有意义。不需要编辑密码,只需覆盖旧密码(当他们仍然可以提供旧密码时),如果您的某个用户忘记了自己的密码,您应该使用他们的电子邮件为他们提供恢复系统。 / p>