Я хотел бы использовать Переносимая среда хэширования паролей PHP для хэширования паролей.Но я обнаружил, что его демоверсии не используют соль для хеширования пароля.Но он использует фиктивную соль для проверки пароля, что мне кажется странным, и я совершенно не понимаю эту идею,
$dummy_salt = '$2a$08$1234567890123456789012';
if (isset($dummy_salt) && strlen($hash) < 20)
$hash = $dummy_salt;
Интересно, хочу ли я использовать метод соглашения, который я могу сгенерировать уникальнымсолить и хранить его для каждого пользователя в моей базе данных, как я могу использовать Portable хэширование паролей PHP для генерации солей?
Это функция, которую я использую для хэширования паролей, но мне сказали, что sha512 имеет ту же проблемукак sha1, стоит довериться эксперту, например, Portable PHP хэшированию паролей,
function hash_sha512($phrase,&$salt = null)
{
//$pepper = '!@#$%^&*()_+=-{}][;";/?<>.,';
if ($salt == '')
{
$salt = substr(hash('sha512',uniqid(rand(), true).PEPPER_KEY.microtime()), 0, SALT_LENGTH);
}
else
{
$salt = substr($salt, 0, SALT_LENGTH);
}
return hash('sha512',$salt.PEPPER_KEY.$phrase);
}
Дайте мне знать, если у вас есть идеи.Спасибо.