2012-02-04 3 views
-2

私はsecurity.ymlログインフォームにsha512を使用する方法は?

Acme\UserBundle\Entity\User: sha512 

に入れているが、私はまた、これを変更していますか? :

$this->salt = base_convert(sha512(uniqid(mt_rand(), true)), 16, 36); 

$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); 

でこれを持っている場合無効です。

なぜですか?

+0

塩にsha512を投げることは全く意味がありません。塩を膨らませても、そのエントロピーは増加しません。 – CodesInChaos

答えて

6

塩の最も重要な特性は独特である(または少なくとも重複は稀である)。これを行う1つの方法は、ランダムに生成することです。明らかに十分なエントロピーが必要です。 128ビットは十分なので、それより長い塩を持つ理由はありません。

sha512で塩をハッシュしてもセキュリティが向上しません。それは単に塩を膨らませるだけです。