📜  Phalcon密码散列

📅  最后修改于: 2021-01-07 09:34:33             🧑  作者: Mango

Phalcon安全

Phalcon向开发人员提供了常见的安全任务,例如:

  • 密码哈希
  • 跨站点请求伪造保护(CSRF)

密码哈希

这是一种将密码以加密形式存储在数据库中的技术。如果密码以纯文本格式存储,那么任何有权访问数据库的入侵者都可以轻松查看密码。

为避免此问题,密码哈希具有2种技术:

  • md5:它将纯文本转换为32个字符的十六进制数字的哈希。
  • sha1:它将纯文本转换为40个字符的十六进制数字的哈希。

请参阅使用md5技术的密码哈希示例:

request->getPost('login');
        $password = $this->request->getPost('password');

if ($user === false) { 
            $this->flash->error("Incorrect credentials"); 
            return $this->dispatcher->forward(array( 
               'controller' => 'users', 'action' => 'index' 
            )); 
         } 
         $this->session->set('auth', $user->id);  
         $this->flash->success("You've been successfully logged in");

        $user->login = $login;

        // Store the password hashed
        $user->password = $this->security->hash($password);

        $user->save();
    }
}

输出:

成功登录数据库后,我们可以看到以哈希格式存储的密码: