【发布时间】:2015-01-06 14:29:38
【问题描述】:
我一直在阅读有关此 password_hash() 的各种论坛和教程,这似乎有助于密码保护。
但现在我想知道是否最好为类似的函数制作自己的盐和哈希
$options = [
'cost' => 11,
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
];
password_hash($password, PASSWORD_BCRYPT, $options);
或者只是让函数来做:
password_hash($password, PASSWORD_DEFAULT);
似乎有很多关于使用自己的盐是好是坏的讨论。
有人可以解释为什么使用自己的盐不好(或不好)吗?
【问题讨论】:
-
来自docs,“注意 - 强烈建议您不要为此函数生成自己的盐。如果您不指定,它将自动为您创建一个安全盐。”文档中有很多关于自动生成的盐在密码学上的安全性以及创建自己的盐可能会导致问题的内容。 允许函数创建盐更安全。
-
谢谢@JayBlanchard
标签: php hash password-protection