使用PHP 5.5的password_hash和password_verify函数进行安全密码存储
问题:
当使用PHP 5.5的password_hash()函数来存储用户密码,盐是否应该与哈希分开存储?
答案:
不,将盐与哈希分开存储是不正确的。 password_hash() 函数生成一个包含哈希值和盐值的字符串。这是正确的使用方法:
$hashAndSalt = password_hash($password, PASSWORD_BCRYPT); // Insert $hashAndSalt into database against user
验证密码:
if (password_verify($password, $hashAndSalt)) { // Verified }
这种方法提供了最佳的安全性,因为它可以防止攻击者访问盐并破坏哈希值。另外,建议使用 mysqli 而不是 ext/mysql,后者在 PHP 5.5 中已弃用,并注意 SQL 注入漏洞。
以上是使用 PHP 的'password_hash()”时是否应该单独存储盐?的详细内容。更多信息请关注PHP中文网其他相关文章!