База данных и файловая соль для Zend_Auth

В моем приложении у меня есть соль для строки таблицы и статическая соль, установленная в моем Zend_Registry. Я пытаюсь сделать оба, без необходимости писать свой собственный Auth_Adapter. Вот что у меня сейчас есть только для одного метода засолки.

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

Возможно ли такое, или для этого надо писать целый адаптер?


person tcole    schedule 28.01.2011    source источник
comment
Обратите внимание, что использование функций CONCAT () и SHA1 () может сломаться, если вы измените базу данных (SHA1 изначально не доступен в SQLite), тогда я советую вам сделать это исключительно на PHP.   -  person Boris Guéry    schedule 03.02.2011


Ответы (1)


Просто добавьте еще один элемент в функцию CONCAT.

$staticSalt = Zend_Registry::get('static_salt');
$treatment = "SHA1(CONCAT(?, salt, '" . $staticSalt . "'))";
$adapter->setCredentialTreatment($treatment);
$adapter->setCredential($values['password']);
person satrun77    schedule 03.02.2011
comment
Я мог бы поклясться, что пробовал это, но теперь это сработало. Спасибо за это! - person tcole; 03.02.2011