我已加入security.yml
Acme\UserBundle\Entity\User: sha512
但我也改变了这个? :
$this->salt = base_convert(sha1(uniqid(mt_rand(), true)), 16, 36);
与
$this->salt = base_convert(sha512(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);
当我登录返回给我时
提供的密码无效。
为什么?
答案 0 :(得分:5)
盐最重要的特性是独特的(或者至少是重复的)。一种方法是随机生成它。你显然需要足够的熵。 128位是充足的,所以没有理由比这更长的盐。
用sha512哈希盐并不会增加安全性。它只会膨胀盐。