百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>网页制作> 详解PHP中password_hash的功能
分享文章到:

详解PHP中password_hash的功能

发布时间:09/01 来源:未知 浏览: 关键词:

password_hash

传统的会员名和密码都采纳加盐的方式储备加密信息,盐值也需要储备。

自PHP5.5.0之后,新增添了密码散列算法函数(password_hash),password_hash() 使用足够强度的单向散列算法创立密码的散列(hash)。 password_hash() 兼容 crypt()。 所以, crypt() 创立的密码散列也可用于 password_hash()。

说明

password_hash不需要再独自储备盐值,并且每次加密的值都不一样,我们只需要储备加密字符串,验证时用password_verify()办法即可得出结果!

当前支撑的算法:

PASSWORD_DEFAULT - 使用 bcrypt 算法 (PHP 5.5.0 默许)。 留意,该常量会随着 PHP 参加更新更高强度的算法而改动。 所以,使用此常量生成结果的长度将在将来有转变。 因此,数据库里贮存结果的列可超越60个字符(最好是255个字符)。

PASSWORD_BCRYPT - 使用 CRYPT_BLOWFISH 算法创立散列。 这会发生兼容使用 "$2y$" 的 crypt()。 结果将会是 60 个字符的字符串, 或者在失败时返回 FALSE。

PASSWORD_ARGON2I - 使用 Argon2 散列算法创立散列。

返回值:

返回散列后的密码, 或者在失败时返回 FALSE。

使用的算法、cost 和盐值作为散列的一部分返回。所以验证散列值的所有信息都已经包括在内。 这使 password_verify() 函数验证的时候,不需要额外贮存盐值或者算法的信息。

/**
 * 我们想要使用默许算法散列密码
 * 当前是 BCRYPT,并会发生 60 个字符的结果。
 *
 * 请留意,随时间推移,默许算法大概会有转变,
 * 所以需要贮存的空间能够超越 60 字(255字不错)
 */
 
 
password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
 
输出相似结果:
$2y$10$.vGA1O9wmRjrwAVXD98HNOgsNpDczlqm3Jq7KnEd1rVAGv3Fykk1a

验证

$inputValue = '123456'; //会员输入的密码
if(password_verify( $inputValue, '数据库储备的密码')){
    //假如为真,则验证成功
}
 
输出:
True  或 False

引荐教程:《PHP视频教程》

以上就是详解PHP中password_hash的功效的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有152人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板