CakePHP3:如何在用户编辑中不使用散列来获取用户密码?

CakePHP3:如何在用户编辑中不使用散列来获取用户密码?,cakephp,cakephp-3.0,Cakephp,Cakephp 3.0,这里我使用了auth组件。在用户编辑中,我的用户密码如下所示 但是这里我想看到没有散列的密码。也希望在这里编辑。可能吗 我尝试过简单的cakephp编辑方法 public function edit($id = null) { $user = $this->Users->get($id); if ($this->request->is(['patch', 'post', 'put'])) { $user =

这里我使用了auth组件。在用户编辑中,我的用户密码如下所示

但是这里我想看到没有散列的密码。也希望在这里编辑。可能吗

我尝试过简单的cakephp编辑方法

public function edit($id = null)
    {
        $user = $this->Users->get($id);
        if ($this->request->is(['patch', 'post', 'put'])) {
            $user = $this->Users->patchEntity($user, $this->request->data);
            if ($this->Users->save($user)) {
                $this->Flash->success(__('The user has been saved.'));
            } 
        }
    }
并使用简单的密码输入字段

echo $this->Form->input('password',['class'=>'form-control']);

如何在用户编辑表单中查看此密码而不使用哈希?

如果管理员有查看用户密码的权限,那么我可以在此处执行什么操作?例如,我正在创建一个应用程序,其中最大用户年龄大于50岁,并且存在一个常见问题—忘记密码。如果他们忘记了密码,他们会打电话给管理员知道密码是什么。你给他们一个新密码。无法查看纯文本密码,因为它不是以纯文本或可以解密的格式存储的(感谢上帝)。请提供一个链接,如何解密纯文本测试密码?如果这个问题不好,很抱歉。
如何解密普通测试密码
不可能,这是唯一的选项。密码散列是单向的。它只能散列,不能取消散列。这显然是出于安全原因。如果您的数据库曾经被未经授权的人破坏,他们不会得到您所有用户密码的列表(这将是非常糟糕的)。如果管理员有权查看用户密码,那么我可以在这里做什么?例如,我正在创建一个应用程序,其中最大用户年龄大于50岁,并且存在一个常见问题—忘记密码。如果他们忘记了密码,他们会打电话给管理员知道密码是什么。你给他们一个新密码。无法查看纯文本密码,因为它不是以纯文本或可以解密的格式存储的(感谢上帝)。请提供一个链接,如何解密纯文本测试密码?如果这个问题不好,很抱歉。
如何解密普通测试密码
不可能,这是唯一的选项。密码散列是单向的。它只能散列,不能取消散列。这显然是出于安全原因。如果您的数据库曾经被未经授权的人破坏,他们不会得到所有用户密码的列表(这将是非常糟糕的)。