我怎样才能使它更安全


How can I make this more secure?

我正在用PHP制作一个登录系统,我想知道我当前的这个哈希函数是否足够安全。

public function genHash( $user, $pass )
{
    $user = strtoupper($user);
    $staticSalt  = $this->staticSalt;
    $dynamicSalt = hash('SHA512', md5($user . $pass) . sha1($pass) . hash('SHA512', $user . $pass));
    $final       = hash('WHIRLPOOL', $pass . $dynamicSalt . $staticSalt);
    return $final;
}

静态盐只是一堆随机字符。无论如何,我怎样才能让它更安全?

您可以为每个用户使用不同的盐并将它们存储在数据库中,但除此之外,该系统看起来非常安全。(不知道服务器的详细信息)。

编辑:

从理论上讲,对字符串进行多哈希处理会增加哈希冲突的机会,但我还没有找到任何可靠的方法表明这是一个实际风险。