可能重复:
PHP 密码的安全哈希和盐
我想生成一个随机盐,然后将其与密码一起存储在用户数据库中。所以我认为是这样的。
$salt = //random salt code
$hpassword = crypt($password,$salt)
可能重复:
PHP 密码的安全哈希和盐
我想生成一个随机盐,然后将其与密码一起存储在用户数据库中。所以我认为是这样的。
$salt = //random salt code
$hpassword = crypt($password,$salt)
PHP 5.5 版将内置对 BCrypt、函数password_hash()
和password_verify()
. 对于 PHP 5.3.7 及更高版本,存在一个兼容包,您可以在其中找到如何使用该函数创建盐的良好实现mcrypt_create_iv()
,请参见第 86 和 121 行。
因为这个兼容包,你也应该考虑直接使用这个函数,而不是自己写,在这里你可以找到一个例子。尤其是为 BCrypt 创建盐是一件棘手的事情,而且会犯很多错误。
PS盐应该尽可能随机(从操作系统的随机源读取),因为这是使其在确定性计算机上唯一且不可预测的最佳方式。
尝试散列现有字段(例如用户名)并将其用于盐。