位置: 编程技术 - 正文

PHP更安全的密码加密机制Bcrypt详解(php密码修改)

编辑:rootadmin

推荐整理分享PHP更安全的密码加密机制Bcrypt详解(php密码修改),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php登录安全,php确认密码,php确认密码,php更安全的密码是多少,php安全设置,php 密码,php最安全的登录功能,php更安全的密码是多少,内容如对您有帮助,希望把文章链接给更多的朋友!

前言

我们常常为了避免在服务器受到攻击,数据库被拖库时,用户的明文密码不被泄露,一般会对密码进行单向不可逆加密——哈希。

常见的方式是:

哈希方式 加密密码 md5(‘') eadcbaabbeeffe md5(‘' . ($salt = ‘salt')) acda3c1bdd7e9af8a sha1(‘') 位密文 hash(‘sha', ‘') 位密文 hash(‘sha', ‘') 位密文

密文越长,在相同机器上,进行撞库消耗的时间越长,相对越安全。

比较常见的哈希方式是 md5 + 盐,避免用户设置简单密码,被轻松破解。

password_hash

但是,现在要推荐的是 password_hash() 函数,可以轻松对密码实现加盐加密,而且几乎不能破解。

password_hash 生成的哈希长度是 PASSWORD_BCRYPT —— 位,PASSWORD_DEFAULT —— 位 ~ 位。PASSWORD_DEFAULT 取值跟 php 版本有关系,会等于其他值,但不影响使用。

PHP更安全的密码加密机制Bcrypt详解(php密码修改)

每一次 password_hash 运行结果都不一样,因此需要使用 password_verify 函数进行验证。

password_hash 会把计算 hash 的所有参数都存储在 hash 结果中,可以使用 password_get_info 获取相关信息。

输出

注意:不包含 salt

可以看出我当前版本的 PHP 使用 PASSWORD_DEFAULT 实际是使用 PASSWORD_BCRYPT。

password_hash($password, $algo, $options) 的第三个参数 $options 支持设置至少 位的 salt。但仍然强烈推荐使用 PHP 默认生成的 salt,不要主动设置 salt。

当要更新加密算法和加密选项时,可以通过 password_needs_rehash 判断是否需要重新加密,下面的代码是一段官方示例

password_needs_rehash 可以理解为比较 $algo + $option 和 password_get_info($hash) 返回值。

password_hash 运算慢

password_hash 是出了名的运行慢,也就意味着在相同时间内,密码重试次数少,泄露风险降低。

输出

password_hash 运行一次耗时 毫秒, md5 运行 次耗时 5 毫秒。这是一个非常粗略的比较,跟运行机器有关,但也可以看出 password_hash 运行确实非常慢。

总结

标签: php密码修改

本文链接地址:https://www.jiuchutong.com/biancheng/289822.html 转载请保留说明!

上一篇:Laravel中log无法写入问题的解决(laravel 日志配置)

下一篇:PHP利用Socket获取网站的SSL证书与公钥(php socket_create)

  • 申报表货物及劳务是什么
  • 餐饮注册个体工商户还是注册公司
  • 销售费用和管理费用和财务费用
  • 累计折旧可以直接计入主营业务成本吗
  • 淘宝买货没有发票
  • 个人所得税里累计专项扣除是什么意思
  • 个税手续费返还计入哪个科目
  • 房地产企业售楼降价法律条文
  • 小规模纳税检查怎么做
  • 有限责任公司应当具备的条件
  • 中外合作合资
  • 派发股票股利如何入账处理合适?
  • 贷款厂家贴息
  • 代收代付的发票开给谁
  • 加速折旧税收优惠
  • 非流动资产基金是什么意思
  • 票据转让后本公司还有责任吗
  • 专利权计入什么所得
  • 管理费用怎么记忆
  • 电子发票无法预览怎么弄
  • 利润表中财务费用可以为负数吗
  • 微信公众号认证年审怎么弄
  • 普通支票如何转账
  • 红字发票怎么填申报表表二
  • 长期待摊费用摊销明细表
  • 公司的实收资本是借款,但是利息由公司付,会计怎么做账
  • 企业所得税税前扣除凭证规定
  • 说一下键盘
  • win11自动更新卡在94%
  • 枇杷叶的功效与作用及副作用
  • 出售低值易耗品的账务处理
  • 房地产企业增值税怎么计算
  • ct.dll
  • 购进原材料款项怎么入账
  • react 路由参数
  • php微信公众号开源框架
  • vue项目使用百度地图怎么长久使用
  • JavaScript DOM API的使用
  • 20221年最新
  • named-config
  • python 元类 详解
  • 加班补贴费
  • 上一年度的费用退回清算表怎么填
  • 企业向合伙企业转让股权
  • springsecurity有什么用
  • 免交增值税应该计入什么科目
  • sql server single user
  • sql server2005使用方法
  • 充电口有烧焦味怎么简单解决
  • 注册资金认缴期限一般多少
  • 非广告性质的赞助支出调增还是调减
  • 多交增值税退税抵欠怎么处理
  • 事业单位破产清算开户流程
  • 工会经费教育经费计提比例
  • 会计中预付账款
  • 未分配利润为负代表什么
  • 公司折价购买的股票
  • 小微企业和小规模纳税人的区别
  • 小公司用什么财务软件做账
  • 明细账建账的步骤
  • xp系统怎么打开设置
  • macos怎么使用
  • linux中查看文件
  • win10自动更新win11怎么办
  • 有usb3.0驱动的win7
  • 下载的mt4安装成了mt5
  • cocos2dx4.0教程
  • jquery实现
  • linux rpm解压
  • javascriptz
  • Python3.6正式版新特性预览
  • Unity3D游戏开发毕业论文
  • android四大组件五大布局
  • python中csv怎么用
  • javascript面向对象精要pdf
  • jquery给下拉框添加选项
  • android 获取手机屏幕截图
  • 辽宁省国家税务局电子税务局官网
  • 甘肃税务局电子税务局官网电子发票怎么查询
  • 电子客票号码8768是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设