如何在 PHP 中使用 bcrypt 散列密码

以明文形式存储密码并不安全,这并不是秘密。
但是,有时开发人员会这样做以使站点易于恢复密码。
存在一种用于构建密码安全性的密码散列技术。
它被称为 bcrypt。
我们可以使用它来保护密码免受不同攻击。
有了它,密码以 bcrypted 格式保存。
在这篇文章中,我们将演示使用 bcrypt 技术对密码进行散列的方法。
可以使用 password_hash() 函数来完成。

password_hash() 函数的语法如下所示:

string password_hash( $password, $algo, $options )

它接受三个参数:密码、算法和选项。

第一个参数(密码)保存用户密码。
第二个(algo)是密码算法常量,用于表示一旦密码散列发生时要使用的算法。
第三个参数(选项)是一个关联数组,包含选项。

成功时返回真,否则返回假。

下面,我们可以查看在 PHP 中使用 password_hash 函数的几个示例。

<?php
echo password_hash("GFG@123", PASSWORD_DEFAULT);
?>

这个例子的输出是:

y$Z166W1fBdsLcXPVQVfPw/uRq1ueWMA6sLt9bmdUFz9AmOGLdM393G

这是另一个例子:

<?php 
$options = [ 
  'cost' => 12, 
]; 
echo password_hash("GFG@123", PASSWORD_BCRYPT, $options); 
?>

并且,上面的示例将输出以下内容:

y$jgzGJmLsUHGNjmDK98MbWe82e3CIJZuflAj6lE1I.dlyhSVfz42oq

关于 PHP 中的 password_hash() 函数

PHP password_hash() 函数是一个内置函数,用于生成新的密码哈希。
它使用了一个非常强大和安全的散列系统。
例如,它可以与 crypt() 函数进行比较。
此外,后者生成的哈希值可以与 password_hash() 一起使用,反之亦然。

日期:2020-06-02 22:15:54 来源:oir作者:oir