【发布时间】:2019-02-01 15:51:30
【问题描述】:
我正在使用 Symfony 4.0。我想在注册时使用 sha256 加密我的用户密码。我不想使用 Symfony 安全性,但如果没有其他方法我会使用它。
我尝试使用 md5 并工作,但使用 sha256 会抛出一个 exception.
Warning: Use of undefined constant sha256 - assumed 'sha256' (this will
throw an Error in a future version of PHP)
那是我的控制器。
public function register(Request $request)
{
$user = new User();
$form = $this->createForm(UserType::class, $user);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$user = $form->getData();
$entityManager = $this->getDoctrine()->getManager();
//$user->setPassword(hash(sha256,$user->getPassword()));
$user->setPassword(md5($user->getPassword()));
$entityManager->persist($user);
$entityManager->flush();
$flashbag = $this->get('session')->getFlashBag();
$flashbag->add("SuccessfullRegister", "You successfully registered in our site!");
return $this->redirectToRoute('EventsAndPeople');
}
return $this->render('home/RegisterForm.html.twig', array(
'form' => $form->createView(),
));
}
由于某种原因,md5 有效,但 sha256 无效。
【问题讨论】:
-
“但使用 sha256 会引发异常” - 异常在哪里?请编辑您的问题以添加异常消息。
-
我添加了异常的文本和它的屏幕截图作为链接
标签: php symfony controller sha256