如何在 formBuilder 字段(Symfony 4)中查看我的解密密码?
How can I see my decrypted password in the formBuilder field (Symfony 4)?
我有一个表单,是通过 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')));
但是这个字段是空的。我想从数据库中查看解密后的密码。我怎样才能意识到这一点?
理想情况下,您的密码以某种方式散列,您无法轻易地从存储的字符串中检索到实际密码。相反,您使用相同的选项对用户输入进行哈希处理,并比较两个哈希值是否匹配。您正试图通过显示明文密码来规避安全机制。
最好不要向用户显示原始密码。他们要么知道,要么应该请求一个新密码,您可以通过邮件发送给他们,或者更好地给他们一个令牌,他们可以使用该令牌输入新密码而无需指定现有密码。
如果出于某种原因您不得不忽略此建议并实际显示普通密码(同样,这是非常不安全的),那么您必须以一种可以与散列密码一起阅读的方式存储它,或者改为散列它。您也可以使用加密而不是散列,例如通过使用 openssl_encrypt
存储密码,然后在显示密码时使用解密对应部分。
我有一个表单,是通过 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')));
但是这个字段是空的。我想从数据库中查看解密后的密码。我怎样才能意识到这一点?
理想情况下,您的密码以某种方式散列,您无法轻易地从存储的字符串中检索到实际密码。相反,您使用相同的选项对用户输入进行哈希处理,并比较两个哈希值是否匹配。您正试图通过显示明文密码来规避安全机制。
最好不要向用户显示原始密码。他们要么知道,要么应该请求一个新密码,您可以通过邮件发送给他们,或者更好地给他们一个令牌,他们可以使用该令牌输入新密码而无需指定现有密码。
如果出于某种原因您不得不忽略此建议并实际显示普通密码(同样,这是非常不安全的),那么您必须以一种可以与散列密码一起阅读的方式存储它,或者改为散列它。您也可以使用加密而不是散列,例如通过使用 openssl_encrypt
存储密码,然后在显示密码时使用解密对应部分。