0

我正在用 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;
}

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

4

1 回答 1

2

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

编辑:

从理论上讲,对字符串进行多重散列会增加散列冲突的可能性,但我没有发现任何可靠的东西表明这是一个实际风险。

于 2012-06-18T00:08:40.280 回答