如何使用PHP的password_hash哈希和验证密码

乔什·波特

最近,我一直在尝试在互联网上偶然发现的登录脚本上实现自己的安全性。在尝试学习如何制作自己的脚本以为每个用户生成盐的努力之后,我偶然发现了password_hash

据我了解(基于本页的阅读内容),当您使用时,盐已经在行中生成password_hash这是真的?

我的另一个问题是,吃2种盐不是很聪明吗?一个直接在文件中,另一个在数据库中?这样,如果有人破坏了数据库中的盐,您仍然直接在文件中保留了盐吗?我在这里读到,存储盐从来都不是一个聪明的主意,但是它总是让我感到困惑。

password_hash建议使用来存储密码。不要将它们分离为数据库和文件。

假设我们有以下输入:

$password = $_POST['password'];

您首先通过执行以下操作对密码进行哈希处理:

$hashed_password = password_hash($password, PASSWORD_DEFAULT);

然后查看输出:

var_dump($hashed_password);

如您所见,它是散列的。(我假设您已执行这些步骤)。

现在,您将此哈希密码存储在数据库中,确保您的password列足够大以容纳哈希值(至少60个字符或更长)当用户要求登录时,您可以通过执行以下操作在数据库中检查带有此哈希值的密码输入:

// Query the database for username and password
// ...

if(password_verify($password, $hashed_password)) {
    // If the password inputs matched the hashed password in the database
    // Do something, you know... log them in.
} 

// Else, Redirect them back to the login page.

官方参考

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用CryptoJS对哈希密码进行安全处理,然后使用php password_hash()

来自分类Dev

PHP - password_hash() 验证

来自分类Dev

如何使用php的password_hash()方法。

来自分类Dev

将md5密码哈希转换为PHP 5.5 password_hash()

来自分类Dev

PHP password_hash():密码哈希在系统之间可移植吗?

来自分类Dev

PHP 5.5密码哈希API比较2个password_hash()变量的正确方法

来自分类Dev

PHP password_hash():密码哈希在系统之间可移植吗?

来自分类常见问题

PHP无法使用password_hash()/ password_verify()使用正确的密码登录

来自分类Dev

在php中使用密码哈希和密码验证登录问题

来自分类Dev

PHP password_hash检查两个哈希

来自分类Dev

PHP password_hash始终包含哈希键

来自分类Dev

使用crypt()和password_hash()函数加密后的密码不匹配

来自分类Dev

使用password_hash时生成的哈希的最大长度?

来自分类Dev

password_verify无法使用Bcrypt验证password_hash

来自分类Dev

使用password_hash()比较注册时的密码

来自分类Dev

使用password_hash更新旧密码时出错

来自分类Dev

在 OO PHP 中使用来自不同对象的 password_hash 和 password_verify

来自分类Dev

如何使用werkzeug.security的check_password_hash函数针对现有的咸化sha1密码哈希验证正确的密码

来自分类Dev

使用password_hash和password_verify

来自分类Dev

PHP Password_Hash函数

来自分类Dev

正确使用password_hash

来自分类Dev

正确使用password_hash

来自分类Dev

如何从PHP中的password_hash获取随机盐?

来自分类Dev

PHP password_hash(),password_verify()

来自分类Dev

如何验证哈希密码

来自分类Dev

PHP 5.5的新password_hash函数中随机生成的密码盐怎么有用?

来自分类Dev

PHP 5.5的新password_hash函数中随机生成的密码盐怎么有用?

来自分类Dev

在MSSQL中实现PHP password_hash()

来自分类Dev

PHP中的password_hash()呢?

Related 相关文章

  1. 1

    使用CryptoJS对哈希密码进行安全处理,然后使用php password_hash()

  2. 2

    PHP - password_hash() 验证

  3. 3

    如何使用php的password_hash()方法。

  4. 4

    将md5密码哈希转换为PHP 5.5 password_hash()

  5. 5

    PHP password_hash():密码哈希在系统之间可移植吗?

  6. 6

    PHP 5.5密码哈希API比较2个password_hash()变量的正确方法

  7. 7

    PHP password_hash():密码哈希在系统之间可移植吗?

  8. 8

    PHP无法使用password_hash()/ password_verify()使用正确的密码登录

  9. 9

    在php中使用密码哈希和密码验证登录问题

  10. 10

    PHP password_hash检查两个哈希

  11. 11

    PHP password_hash始终包含哈希键

  12. 12

    使用crypt()和password_hash()函数加密后的密码不匹配

  13. 13

    使用password_hash时生成的哈希的最大长度?

  14. 14

    password_verify无法使用Bcrypt验证password_hash

  15. 15

    使用password_hash()比较注册时的密码

  16. 16

    使用password_hash更新旧密码时出错

  17. 17

    在 OO PHP 中使用来自不同对象的 password_hash 和 password_verify

  18. 18

    如何使用werkzeug.security的check_password_hash函数针对现有的咸化sha1密码哈希验证正确的密码

  19. 19

    使用password_hash和password_verify

  20. 20

    PHP Password_Hash函数

  21. 21

    正确使用password_hash

  22. 22

    正确使用password_hash

  23. 23

    如何从PHP中的password_hash获取随机盐?

  24. 24

    PHP password_hash(),password_verify()

  25. 25

    如何验证哈希密码

  26. 26

    PHP 5.5的新password_hash函数中随机生成的密码盐怎么有用?

  27. 27

    PHP 5.5的新password_hash函数中随机生成的密码盐怎么有用?

  28. 28

    在MSSQL中实现PHP password_hash()

  29. 29

    PHP中的password_hash()呢?

热门标签

归档