Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在formBuilder字段(Symfony 4)中查看已解密的密码?_Symfony_Oop_Passwords_Encode_Formbuilder - Fatal编程技术网

如何在formBuilder字段(Symfony 4)中查看已解密的密码?

如何在formBuilder字段(Symfony 4)中查看已解密的密码?,symfony,oop,passwords,encode,formbuilder,Symfony,Oop,Passwords,Encode,Formbuilder,我有一个表单,是我通过Symfony formBuilder创建的 像这样,我在我的字段中看到加密密码: $formBuilder->add('password', TextType::class, array('attr' => array('class' => 'form-control'))); 但实际上我需要使用一个明文密码字段(稍后对密码进行编码): 但是这个字段是空的。我想查看数据库中解密的密码。如何实现这一点?理想情况下,您的密码是以某种方式散列的,您无法轻松从

我有一个表单,是我通过Symfony formBuilder创建的

像这样,我在我的字段中看到加密密码:

$formBuilder->add('password', TextType::class, array('attr' => array('class' => 'form-control')));
但实际上我需要使用一个明文密码字段(稍后对密码进行编码):


但是这个字段是空的。我想查看数据库中解密的密码。如何实现这一点?

理想情况下,您的密码是以某种方式散列的,您无法轻松从存储的字符串中检索实际密码。而是使用相同的选项对用户输入进行散列,并比较两个散列是否匹配。您试图通过显示普通密码来规避安全机制

最好不要向用户显示原始密码。要么他们知道,要么他们应该请求一个新密码,您可以通过邮件发送给他们,或者更好地给他们一个令牌,他们可以用它输入新密码,而无需指定现有密码


如果出于某种原因,您不得不拒绝此建议,并实际显示普通密码(同样,这是非常不安全的),那么您必须将其存储在可以与散列密码一起读取或不进行散列的方式。您也可以使用加密而不是散列,例如,通过使用存储密码,然后在显示密码时对密码进行解密。

理想情况下,您的密码是以散列的方式进行的,您无法从存储的字符串中轻松检索实际密码。而是使用相同的选项对用户输入进行散列,并比较两个散列是否匹配。您试图通过显示普通密码来规避安全机制

最好不要向用户显示原始密码。要么他们知道,要么他们应该请求一个新密码,您可以通过邮件发送给他们,或者更好地给他们一个令牌,他们可以用它输入新密码,而无需指定现有密码


如果出于某种原因,您不得不拒绝此建议,并实际显示普通密码(同样,这是非常不安全的),那么您必须将其存储在可以与散列密码一起读取或不进行散列的方式。您也可以使用加密而不是散列,例如,通过使用存储密码,然后在显示密码时对其进行解密。

我认为,如果有一些要点可以证明,实际上已经存在一个密码,对我来说是可以的。因为一个空字段表示没有设置密码,我的意思是我可以将密码显示为点(点)。这是安全的,对吗?它只是表明数据库中已经有密码是的,检查密码属性是否为空(如果可能的话),然后使用类似
的内容作为字段值或占位符(如果不是),应该是安全的。由于密码是散列的,您不知道原始长度,因此通过读取密码中的任何内容来动态放置点是没有意义的。据我所知,这听起来像是一种安全的处理方式。我认为对我来说,如果有一些要点可以证明,实际上已经存在一个密码。因为一个空字段表示没有设置密码,我的意思是我可以将密码显示为点(点)。这是安全的,对吗?它只是表明数据库中已经有密码是的,检查密码属性是否为空(如果可能的话),然后使用类似
的内容作为字段值或占位符(如果不是),应该是安全的。由于密码是散列的,您不知道原始长度,因此通过读取密码中的任何内容来动态放置点是没有意义的。据我所知,这听起来是一种安全的处理方法。
$formBuilder->add('plainPassword', TextType::class, array('attr' => array('class' => 'form-control')));