public function beforeSave($options = array()) { $model = get_class($this); $user = $this->findById($this->id); if (empty($user)) { $this->data[$model]['digest_hash'] = DigestAuthenticate::password($this->data[$model]['username'], $this->data[$model]['password'], env("SERVER_NAME")); $this->data[$model]['password'] = AuthComponent::password($this->data[$model]['password']); } else { if ($user[$model]['password'] != $this->data[$model]['password']) { $this->data[$model]['digest_hash'] = DigestAuthenticate::password($user[$model]['username'], $this->data[$model]['password'], env("SERVER_NAME")); $this->data[$model]['password'] = AuthComponent::password($this->data[$model]['password']); } } return true; }
/** * test password hashing * * @return void */ public function testPassword() { $result = DigestAuthenticate::password('mark', 'password', 'localhost'); $expected = md5('mark:localhost:password'); $this->assertEquals($expected, $result); }