什么是更好的? Password_hash 对比 SHA256 对比 SHA1 对比 md5

What is better? Password_hash vs. SHA256 vs. SHA1 vs. md5

salt 有什么更好的密码存储方式?

MD5:

$hash = md5($password . $salt);

Password_hash:

$hash = password_hash($password, PASSWORD_DEFAULT, $salt);

SHA1:

$result = sha1($salt.$string);

您绝对应该使用 password_hash() 函数而不提供您自己的盐:

$hash = password_hash($password, PASSWORD_DEFAULT);

该函数将自行生成安全盐。其他算法的速度太快,无法对密码进行哈希处理,因此很容易被暴力破解(大约每秒 8 Giga MD5)。

当您存储大量密码时,盐非常有用,否则它们将毫无用处,因为它们以明文形式存储。如果攻击者设法获取您的散列密码,则假设他们可以拿到您的盐。 使用 SHA-256,因为它是一种密码学上强大的哈希函数,并使用盐。但最重要的是,只需使用结合强哈希算法的强密码。