Php 如何在没有symfony安全性的情况下加密用户密码
我正在使用Symfony 4.0。我想在注册用户密码时使用sha256对其进行加密。我不想使用Symfony security,但如果没有其他方法,我会使用它 我试过使用md5,但使用sha256会给我一个 那是我的控制器Php 如何在没有symfony安全性的情况下加密用户密码,php,symfony,controller,sha256,Php,Symfony,Controller,Sha256,我正在使用Symfony 4.0。我想在注册用户密码时使用sha256对其进行加密。我不想使用Symfony security,但如果没有其他方法,我会使用它 我试过使用md5,但使用sha256会给我一个 那是我的控制器 public function register(Request $request) { $user = new User(); $form = $this->createForm(UserType::class, $user); $for
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不是一个常量,您必须将其作为字符串提供。更改此行:
$user->setPassword(hash(sha256, $user->getPassword()));
到
注意,我在sha256的周围添加了引号“但是sha256抛出了一个异常”——异常在哪里?请编辑您的问题以添加异常消息。我添加了异常文本和屏幕截图作为链接
$user->setPassword(hash(sha256, $user->getPassword()));
$user->setPassword(hash("sha256", $user->getPassword()));