我使用PHP crypt()在Zend php應用程序中散列我的密碼。然而,我想不出一個使用Zend_Auth_Adapter_DbTable的散列解決方案。假設我正在用的crypt()後運行一個存儲密碼哈希...Zend_Auth_Adapter_DbTable和PHP crypt
//Salt and hash...
$salt = '$2a$07$'.$this->getSalt();
$data['password'] = crypt($user_object->password, $salt);
$this->_db_table->insert($data);
//Authentication...
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$authAdapter->setTableName('users')
->setIdentityColumn('username')
->setCredentialColumn('password')
//Now what? Possibly...
->setCredentialTreatment(/* But how? */);
我如何使用Zend_Auth_Adapter_DbTable表對象用這種鹽析和哈希策略?我環顧四周,但真的不能找到MD5和SHA哈希類型以外的任何解決方案...
我相信$ authAdapter-> setCredential($ cryptedPassword)將無法工作作爲哈希實際上看起來不同,每次,這是一個crypt與MD5的優勢。你實際上必須讓適配器使用crypt函數來運行算法,並確定它們都是jive ......我已經寫完了自己的適配器,將它發佈。 – bristophocles
讓我改正自己,與MD5相比,優點是不會將密碼存儲在表中。這種方法將打敗這種優勢。 – bristophocles