首页 > 后端开发 > php教程 > 使用 PHP 的'password_hash()”时是否应该单独存储盐?

使用 PHP 的'password_hash()”时是否应该单独存储盐?

Barbara Streisand
发布: 2024-12-29 06:23:10
原创
893 人浏览过

Should I Store the Salt Separately When Using PHP's `password_hash()`?

使用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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板