Security 如何在登录表单中使用sha512?
我已经输入了Security 如何在登录表单中使用sha512?,security,encryption,symfony,Security,Encryption,Symfony,我已经输入了security.yml Acme\UserBundle\Entity\User: sha512 但我也改变了这个 $this->salt = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36); 与 ? 如果我有这个security.yml: Acme\UserBundle\Entity\User: sha512 如果我在user.php $this->salt = base_convert(sha1(uniq
security.yml
Acme\UserBundle\Entity\User: sha512
但我也改变了这个
$this->salt = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36);
与
?
如果我有这个
security.yml
:
Acme\UserBundle\Entity\User: sha512
如果我在user.php
$this->salt = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36);
当我登录时返回给我
提供的密码无效
为什么?一种盐最重要的特性是独特性(或者至少重复性很少见)。一种方法是随机生成它。你显然需要足够的熵。128位就足够了,所以没有理由使用比这更长的salt
用sha512散列盐根本不会增加安全性。它只会使盐膨胀。向盐扔sha512毫无意义。使盐膨胀并不会增加它的熵。
$this->salt = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36);