这种存储密码的方式有多安全?

时间:2015-01-19 23:14:54

标签: php security hash saltedhash

我理解并认识到,与使用谷歌或Facebook等服务相比,将密码存储在我自己的数据库中是一个巨大的安全漏洞,但我想知道以下代码是否可用于使用盐渍哈希来安全地存储用户名和密码:

$username = $_POST['user']
$salt = md5(openssl_random_psuedo_bytes(24, true));
$pass = sha1($salt.$_POST['pass'])

我相信它相当安全,但我不是专家。

编辑:

我认为这会更好,是吗?

$salt1 = md5(sha1(openssl_random_psuedo_bytes(32, true));
$pass = password_hash($_POST['pass'] . $salt1, PASSWORD_BCRYPT);

我是否更接近找到一个存储密码的合适机制?

1 个答案:

答案 0 :(得分:3)

这是非常糟糕的(尽管可能更糟)

  1. SHA1不是很安全。
  2. 所有直接哈希函数都太快而无法用于密码。
  3. 你应该使用PBKDF2或bcrypt或scrypt。