首页 >数据库 >mysql教程 >如何正确使用 PHP 5.5 的 `password_hash()` 和 `password_verify()` 进行安全密码存储?

如何正确使用 PHP 5.5 的 `password_hash()` 和 `password_verify()` 进行安全密码存储?

Barbara Streisand
Barbara Streisand原创
2024-12-12 11:25:14449浏览

How Can I Correctly Use PHP 5.5's `password_hash()` and `password_verify()` for Secure Password Storage?

正确使用PHP 5.5的password_hash()和password_verify()函数

虽然安全地存储密码至关重要,但您建议使用PHP 5.5的password_hash()方法函数不正确。

password_hash() 返回一个哈希字符串其中包括哈希值和盐。不建议将盐和哈希分开存储。相反,将返回的哈希值直接存储到数据库中。

要验证密码,请从数据库中获取哈希值和盐并使用password_verify(),如下所示:

$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
// Store $hashAndSalt in the database

// Verification
if (password_verify($password, $hashAndSalt)) {
    // Verified
}

此外,考虑 ext/mysql 已弃用的性质以及数据库语句中潜在的安全漏洞。建议使用 mysqli 或 PDO,并按照 PHP 文档的指导防范 SQL 注入攻击。

以上是如何正确使用 PHP 5.5 的 `password_hash()` 和 `password_verify()` 进行安全密码存储?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn