преобразовать введенный пользователем пароль в зашифрованный пароль zfcuser

Я пытаюсь сделать страницу обновления профиля, где люди могут изменить детали профиля. и им нужен пароль для обновления профиля.

я использую zfcuser модуль для входа и регистрации.
я не знаю, какой метод шифрования используется zfcuser,

Теперь мне нужно сравнить зашифрованный пароль по zfcuser с паролем, введенным пользователем при обновлении профиля.

Как если бы user_inserted_password==encrypted_password_in_database затем обновите профиль.

я также попробовал этот код

$bcrypt = new Bcrypt;
$bcrypt->setCost(14);
$pass = $bcrypt->create($newpass);

но не совпадает с зашифрованным паролем в базе данных.
Наконец я использовал этот код,

use ZfcUser\Options\PasswordOptionsInterface;
use Zend\ServiceManager\ServiceManager;
use Zend\ServiceManager\ServiceManagerAwareInterface;
use Zend\ModuleManager\Feature\ServiceProviderInterface;
use ZfcUser\Mapper\UserInterface as UserMapperInterface;
use ZfcBase\EventManager\EventProvider;
use GoalioForgotPassword\Options\ForgotOptionsInterface;

use Zend\Crypt\Password\Bcrypt;

class ReservationsController extends AbstractActionController
{
protected $zfcUserOptions;
public function indexAction()
{
$bcrypt = new Bcrypt;
$bcrypt->setCost($this->getZfcUserOptions()->getPasswordCost());
$pass = $bcrypt->create("test");
echo $pass; exit;
}

public function getZfcUserOptions()
{
if (!$this->zfcUserOptions instanceof PasswordOptionsInterface) {
$this->setZfcUserOptions($this->getServiceManager()->get('zfcuser_module_options'));
}
return $this->zfcUserOptions;
}
}

но получаю эту ошибку.

Zend\Mvc\Controller\PluginManager::get was unable to fetch or create an instance for getServiceManager

должен ли кто-нибудь иметь представление? как зашифровать пароль в zend2 zfcuser модуль?
Заранее спасибо.

0

Решение

Bcrypt не создает одну и ту же строку каждый раз, как MD5. Если вы хотите проверить, является ли зашифрованный пароль действительным, вы можете использовать:

$bcrypt = new Bcrypt();
$bcrypt->setCost(14);
$bcrypt->verify('isThisCorrect?', $userPasswordFromDB)
2

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

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

По вопросам рекламы [email protected]