2011-01-28 31 views
1

在我的應用程序中,我有一個錶行鹽,並在我的Zend_Registry中設置了一個靜態鹽。我正在努力,而不必編寫自己的Auth_Adapter。這就是我現在只用一種醃製方法。Zend_Auth的數據庫和文件鹽

$adapter->setCredentialTreatment("SHA1(CONCAT(?, salt))"); 
$adapter->setCredential($values['password']); 

這是可能的,還是我必須爲此編寫一個完整的適配器?

+0

注意,使用CONCAT()和SHA1()函數如果更改數據庫(SHA1是不是在SQLite的原生提供)能打破那我就勸你還是純粹做在PHP。 – 2011-02-03 00:48:19

回答

0

只需將另一項添加到CONCAT功能即可。

$staticSalt = Zend_Registry::get('static_salt'); 
$treatment = "SHA1(CONCAT(?, salt, '" . $staticSalt . "'))"; 
$adapter->setCredentialTreatment($treatment); 
$adapter->setCredential($values['password']); 
+0

我可以發誓我試過這個,但它現在工作。感謝你! – tcole 2011-02-03 17:24:00