什么是更好的? Password_hash vs. SHA256 vs. SHA1 vs. md5

时间:2015-03-19 14:38:02

标签: md5 store sha1 sha256 password-hash

密码存储的salt有什么用?

MD5:

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

Password_hash:

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

SHA1:

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

2 个答案:

答案 0 :(得分:23)

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

$hash = password_hash($password, PASSWORD_DEFAULT);

该功能将自行生成安全盐。其他算法的速度太快,无法散列密码,因此太容易暴力破解(每秒大约8 Giga MD5)。

答案 1 :(得分:3)

当您存储大量密码时,盐很棒,否则它们相当无用,因为它们以明文形式存储。如果攻击者设法获得您的哈希密码,那么假设他们可以获取您的盐。 使用SHA-256,因为它是一个加密强哈希函数,并使用salt。但最重要的是,只需使用强密码和强哈希算法。