位置: 编程技术 - 正文

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)

  • 原材料报废可以退税吗
  • 销售货物增值税怎么算
  • 差额征税的会计处理方法
  • 个体户核定双定户是否可以年度汇算清缴
  • 投资性房地产转为非投资性房地产
  • 非专利技术转让计入什么科目
  • 收票据计息利息为什么要红字冲账?
  • 确认收入时需要结转成本吗
  • 项目部分回款是什么意思
  • 工程施工购买的标示牌怎么开票给甲方
  • 支付的运输费用可以扣除吗
  • 进口货物的关税完税价格不包括
  • 增值税免税收入进项税额转出
  • 企业固定资产出租取得的收入属于
  • 房地产销售税额抵减
  • 待处理财产损益科目
  • 租赁合同印花税双方都要交吗
  • 小规模纳税人需要每月清卡吗
  • 收购粮食怎么做账
  • 暂估入库借方有余额怎么处理
  • office自定义功能区
  • 普通年金的概念和内涵
  • 一般纳税人购进农产品如何抵扣进项税额
  • 最小的蓝牙鼠标是哪款
  • 红字发票冲减的是当月收入吗
  • 应收账款逾期的危险信号
  • Yii2超好用的日期和时间组件(值得收藏)
  • php加减
  • 知识图谱ui
  • 前端常见面试
  • yolov3 pytorch详解
  • 金融机构贷款准备金
  • 公司变卖汽车按什么税率
  • 单位社保年底清算
  • Python函数的参数及其类型
  • mysql触发器在哪
  • nosql sql
  • 怎么修改申报数据
  • 长期股权投资成本法会计处理
  • 税控盘全额抵扣怎么填申报表
  • 残保金的税收优惠政策
  • 账外资产处理
  • 现金日记账是会计人员根据审核后的
  • 如何加强存货管理,提高存货周转率
  • 对公账户往来款需要开票吗
  • 承包工程合同书
  • 每月分红会计分录
  • 税控开具发票
  • 企业净资产怎么填
  • 期后事项的分类及处理原则
  • 怎样计算计时工资
  • win7安装mysql8.0.17
  • win9什么意思
  • ubuntu没有wlan0
  • linux系统对硬件要求高吗
  • fsck.mode
  • win10预览版绿屏重启解决
  • 谈谈Jquery ajax中success和complete有哪些不同点
  • perl常用函数
  • glortho函数
  • opengles入门
  • 输出中断
  • vue怎么实现多页面
  • 原生js实现promise
  • 深入理解中国式现代化
  • nodejs实现微服务
  • jquery filedownload
  • javax.net.ssl.SSLException: hostname in certificate didn't match:
  • c# datetime.date
  • 深入理解中国式现代化
  • Android as Bluetooth Low Energy Peripherial (GATT server).
  • 工商局税收
  • 广西增值税发票查询平台
  • 绿化养护的增值税是多少
  • 股权转让怎么计算个人所得税
  • 国际税务处岗位职责
  • 消费税的税收优惠有哪些
  • 国家税务贵州省税务
  • 代收工会经费标准规定
  • 税务津贴提高1100
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设