Проблема с паролями и функцией дайджеста, которую вы можете решить, определив свою собственную функцию в базе данных, например:
CREATE OR REPLACE FUNCTION sha1(character varying)
RETURNS character varying AS
BEGIN
RETURN ENCODE(digest($1, 'sha1'), 'hex');
END;
LANGUAGE plpgsql
и для авторизации:
$authAdapter = new Zend_Auth_Adapter_DbTable(Zend_Registry::get('db'));
$authAdapter->setTableName('users')
->setIdentityColumn('login')
->setCredentialColumn('password')
->setIdentity($username)
->setCredential($password);
$authAdapter->setCredentialTreatment(
"SHA1(CONCAT(?,salt))"
);
Zend_Db_Expr также может быть полезен