以明文形式存储密码并不安全,这并不是秘密。
但是,有时开发人员会这样做以使站点易于恢复密码。
存在一种用于构建密码安全性的密码散列技术。
它被称为 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