У меня есть веб-приложение с самодельным пользовательским модулем.Пользователи хранятся в базе данных MySQL с паролями, закодированными в двоичном виде (по умолчанию sha256, однако у нас есть поддержка других алгоритмов; например, пароль хранится в виде строки MD5).
Пока все хорошо, но теперь мы хотим действовать по-своемуприложение в качестве поставщика OpenId, предоставляющего учетные записи из нашего пользовательского модуля.
Поскольку мы использовали Zend Framework, я догадался, что не должно быть так сложно написать собственный адаптер хранилища с использованием бэкэнда базы данных (т. е. OurNamespace_OpenId_Provider_Storage_Db расширяет Zend_OpenId_Provider_StorageI, однако Zend: логин (id, пароль) переносится в Zend_OpenId_Provider_Storage :: checkUser (id, md5 (id.password))
Так что в OurNamespace_OpenId_Provider_Storage_Db :: checkUser () второй аргумент, пароль, предоставляется в виде строки md5включая соль (openid), которую я не могу проверить в нашей собственной таблице пользователей ... пароли хранятся по-разному ...
Что было бы распространенным / наилучшей практикой для решения этой проблемы / ее обхода?
Заранее спасибо!
// Роланд