密码哈希实现

时间:2010-05-14 21:55:12

标签: symfony1 doctrine

我正在使用Symfony开发一个新的应用程序。我想存储密码哈希,所以我在我的用户模型中覆盖了save方法:

public function save(Doctrine_Connection $conn = null)
{
    $this->setUserPassword( md5($this->getUserPassword()) );
return parent::save($conn);
}

创建新用户时效果很好。但是,当我们在不更改密码的情况下编辑用户时会出现问题。这会导致Doctrine散列已经散列的密码。

因此,我需要检查是否在此DoctrineRecord实例中修改了UserPassword。我怎么能设法做到这一点?

1 个答案:

答案 0 :(得分:8)

解决方案: 我们只需覆盖setter方法:

public function setUserPassword($password)
{
    return $this->_set('user_password', md5($password));
}