Как я могу увидеть мой расшифрованный пароль в поле formBuilder (Symfony 4)? - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть форма, которую я создал с помощью Symfony formBuilder

Вот так я вижу зашифрованный пароль в своем поле:

$formBuilder->add('password', TextType::class, array('attr' => array('class' => 'form-control')));

Но на самом деле мне нужно использовать поле plainPassword (кодировать пароль позже):

$formBuilder->add('plainPassword', TextType::class, array('attr' => array('class' => 'form-control')));

Но это поле пусто.Я хотел бы видеть расшифрованный пароль из базы данных.Как я могу это понять?

1 Ответ

0 голосов
/ 20 ноября 2018

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

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

Если по какой-либо причине у вас естьчтобы отклонить этот совет и фактически отобразить простой пароль (опять же, это крайне небезопасно), вам нужно хранить его таким образом, чтобы вы могли прочитать его либо рядом с хешированным паролем, либо вместо хеширования.Вы также можете использовать шифрование вместо хеширования, например, используя openssl_encrypt для хранения пароля и затем его расшифровку при отображении.

...