我如何在登录表单中使用sha512?

时间:2012-02-04 18:25:05

标签: security encryption symfony

我已加入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);

当我登录返回给我时

  

提供的密码无效。

为什么?

1 个答案:

答案 0 :(得分:5)

盐最重要的特性是独特的(或者至少是重复的)。一种方法是随机生成它。你显然需要足够的熵。 128位是充足的,所以没有理由比这更长的盐。

用sha512哈希盐并不会增加安全性。它只会膨胀盐。

相关问题