PHP的password_hash和password_verify功能是否足够?

时间:2015-08-15 03:26:56

标签: php database security

我正在构建一个拥有用户的网站,并且与大多数拥有某些用户类型系统的网站一样,他们使用他们的电子邮件和密码登录。我使用PHP 作为我网站的后端部分。

在阅读了互联网上的一些文章和帖子后,我了解了PHP函数 password_hash() password_verify(),并想了解一个示例程序是否如此因为这个足够安全吗?

  1. 注册用户, password_hash()他们的密码,将哈希值存储在数据库中
  2. 登录时,使用 password_verify()验证密码,然后将其登录
  3. 如果他们想要更改密码,请再次输入输入和 password_hash()输入。
  4. 所以我对此的问题如下:

    1. password_hash()和password_verify()是否需要仅限功能
    2. 我是否可以原始用户输入安全使用 password_hash()对密码进行哈希处理,以存储在数据库中 <?/ LI>

      任何答案都将非常感谢。谢谢。

1 个答案:

答案 0 :(得分:3)

当您将这些函数与BCrypt算法一起使用时,

password_hash()password_verify()就足够了。 BCrypt是最安全的算法,现在是哈希密码的日子。 BCrypt是PHP 5.5.0的默认算法,因此您可以使用PASSWORD_DEFAULT来使用BCrypt。 BCrypt需要5.3.7或更高版本的php。 password_hash()会自动为每个密码生成salt,因此我建议您不要使用自己的salt,让password_hash()为您执行此操作并设置最低CPU成本12