В Yii фреймворке шифрую логин пользователя:
Yii::app()->securityManager->encrypt('root@test.ru')
и получаю хэш пароля:
CPasswordHelper::hashPassword('123456');
За тем сохраняю в базе.
Вопрос в следующем:
Как при авторизации найти логин в базе если шифр от 'root@test.ru' всегда разный получается, это что мне придется доставать все записи из базы и все расшифровывать? Как правильно сделать если я не хочу хранить в базе e-mail адреса в открытом виде?
@frost18 можете попробовать компоненту securityManager указать в конфиге свойство cryptAlgorithm. Это массив параметров, который идет в mcrypt_module_open ( https://github.com/yiisoft/yii/blob/1.1.15/framewo... ). Используя его вам вероятно удастстя сменить режим шифрования с MCRYPT_MODE_CBC на MCRYPT_MODE_ECB, которому вектор инициализации не требуется. Возможно поможет.