ランダムなソルトを指定して、そこからパスワード ハッシュを生成するハッシュ関数を作成しようとしています。
問題は、2 人の異なるユーザーに同じパスワードを入力すると、生成されるハッシュが両方で同じになることです。
何が問題なのですか?
public function generateSalt()
{
return $salt = substr(sha1(uniqid(rand(), true)), 0, 32);
}
public function pwdEncrypt($password, $salt)
{
$hash = crypt($password, '$2a$' . $salt . '$');
return $hash;
}
public function registerUser($nome, $email, $password, $permitions, $active)
{
$this->nome = $nome;
$this->email = $email;
$salt = $this->generateSalt();
$this->password = $this->pwdEncrypt($password, $salt);
//INSERT METHODS BELOW
}