我想生成一个随机盐,然后将其与密码一起存储在用户数据库中。所以我想是这样的。
$salt = //random salt code
$hpassword = crypt($password,$salt)
答案 0 :(得分:1)
PHP 5.5版将内置支持BCrypt,函数password_hash()
和password_verify()
。对于PHP 5.3.7及更高版本,存在compatibility pack,您可以在其中找到如何使用函数mcrypt_create_iv()
创建salt的良好实现,请参阅第86和121行。
由于此兼容包,您还应该考虑直接使用此功能,而不是自己编写,在这里您可以找到example。特别是为BCrypt创造盐是一件棘手的事情,人们会犯很多错误。
P.S。 salt应该尽可能随机(从操作系统的随机源中读取),因为这是在确定性计算机上使其成为唯一和不可预测的最佳方法。
答案 1 :(得分:0)
尝试哈希现有字段(例如用户名)并将其用于盐。