PHP 5.5 的password_hash 和password_verify 函数的密码安全
查询:
使用 PHP 5.5 安全存储密码时的password_hash()函数,只将盐存储在数据库?
答案:
否。为了增强密码安全性,必须将哈希值和盐存储在数据库中。 password_hash 可以方便地生成包含这两个元素的字符串。
建议:
实现安全密码存储:
-
生成:使用password_hash()创建哈希密码:$hashAndSalt = password_hash($password, PASSWORD_BCRYPT);
-
存储:将 $hashAndSalt 插入相应用户的数据库中。
-
验证:验证提交密码,从数据库中检索存储的$hashAndSalt并使用password_verify(): password_verify($password, $hashAndSalt)
其他注意事项:
-
安全实践:使用 mysqli 而不是过时的ext/mysql 改进安全性。
-
SQL 注入预防:通过遵循最佳实践(例如准备好的语句)了解并减轻 SQL 注入的风险。
以上是为了密码安全,我应该只在使用 PHP 5.5 的 `password_hash()` 时存储盐吗?的详细内容。更多信息请关注PHP中文网其他相关文章!