2012-02-04 51 views
-2

我已經把security.yml我如何在我的登錄表單中使用sha512?

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

在沙子上投擲sha512毫無意義。膨脹鹽不會增加其熵。 – CodesInChaos 2012-02-04 18:31:44

回答

6

鹽最重要的屬性是獨特的(或至少重複罕見)。一種方法是隨機生成它。你顯然需要足夠的熵。 128位是很多,所以沒有理由有更長的鹽。

用sha512甩鹽不會增加安全性。它只是膨脹了鹽。

相關問題