gpt4 book ai didi

php - 使用 salt login 的 Symfony 2 总是返回 Bad credentials

转载 作者:可可西里 更新时间:2023-11-01 00:48:18 24 4
gpt4 key购买 nike

如果我使用 salt 来解码我的密码,登录总是返回“Bad credentials”。

我正在使用 Fixture 创建一些测试数据:

public function load(ObjectManager $manager)
{
$encodeFactory = $this->container->get('security.encoder_factory');

$user = new User();
$user->setUsername('admin');
$user->setEmail('webmaster@aranox.de');

$encoder = $encodeFactory->getEncoder($user);
$user->setPassword($encoder->encodePassword('admin', $user->getSalt()));

$user->setIsEnabled(true);

$manager->persist($user);
$manager->flush();

$this->addReference('user-admin', $user);
}

我在 security.yml 中设置了编码:

security:
encoders:
Aranox\UserBundle\Entity\User:
algorithm: sha512

使用以下方法在我的用户实体中创建盐:

...
/**
* @ORM\Column(type="string", length=255)
*/
private $password;
/**
* @ORM\Column(type="string", length=255)
*/
private $salt;

...
function __construct()
{
$this->groups = new ArrayCollection();
$this->salt = md5(uniqid(null, true));
...

如果不创建盐($this->salt = ""),一切正常。

这怎么会发生?

最佳答案

请检查实体文件中的密码字段长度,如果小于 255,则将其增加到 255,因为 sha512 包含长字符串。

关于php - 使用 salt login 的 Symfony 2 总是返回 Bad credentials,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com