Я создаю систему входа в 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;
}
Статическая соль - всего лишь куча случайных символов. Во всяком случае, как я могу сделать его более безопасным?
Вам нужно всего лишь выделить его один раз и использовать что-то, что вы можете ввести в действие, например, bcrypt. – alex
Пожалуйста, не создавайте собственную схему хэширования пароля. Используйте [bcrypt] (http://stackoverflow.com/questions/4795385/how-do-you-use-bcrypt-for-hashing-passwords-in-php). – jmkeyes
Возможный дубликат [Безопасный хеш и соль для паролей PHP] (http://stackoverflow.com/questions/401656/secure-hash-and-salt-for-php-passwords) –