Вход в систему Zend Framework помощь в шифровании

Я реализую функциональность входа в систему в существующем приложении Zend Framework 1. Я слил Zend Framework 2 в приложение. Вот мой вопрос.

Я храню пароль пользователя в базе данных с шифрованием:

public static function encryptPassword($password)
{
$blockCipher = new BlockCipher(new Mcrypt(array('algo' => 'aes')));
$blockCipher->setKey(core::config(static::CONFIG_NODE_MCRYPT_KEY));
$result = $blockCipher->encrypt($password);
return $result;
}

Теперь я понимаю, что когда я обрабатываю вход в систему, я могу по существу передать предоставленный пароль с помощью этого метода, и он должен быть равен учетным данным, сохраненным в базе данных.

Проблема в том, что он этого не делает. Я получаю разные результаты.

Любая помощь будет оценена.

0

Решение

  1. Шифрование по определению расшифровано, поэтому в моей книге вы не должны хранить зашифрованные пароли, а хешировать! Ссылка для чтения: http://php.net/manual/en/faq.passwords.php.
  2. Поэтому вы должны сделать что-то вроде: $ passwod = hash («sha256», $ password. $ Salt);
    Это даст вам пароль длиной 64 символа …

Удачи

1

Другие решения

Других решений пока нет …