位置: 编程技术 - 正文

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)

  • 税收分类方法表格
  • 投资利税率包括所得税吗
  • 房产租赁增值税率是5%还是9%
  • 开了农民工资金专户必须使用吗
  • 小微企业附加税税收优惠政策
  • 社保委托代发银行账号是空的
  • 提供有形动产租赁服务适用税率为13%
  • 商场采用联营方式的原因
  • 其他应付款在现金流量表中应该填哪里
  • 发票已缴销什么意思
  • 小规模纳税人怎么判断
  • 企业拨缴工会经费申报后税务机关需要审核吗
  • 非盈利组织一般纳税人应交的税
  • 纳税人如何网上申请预填报服务
  • 银行要求的补偿性余额所占比例为20%
  • 年初未交增值税借方怎么处理
  • 新入职员工如何加入企业微信
  • 处置股权后相应债权坏账损失怎么处理?
  • 原始凭证与记账凭证的填制实验报告
  • 预提费用的会计分录2018
  • 再生资源会计科目
  • 应付账款是贵公司欠还是欠贵公司
  • surface安装win10专业版
  • 收到违反合同的违约金
  • 事业单位采购管理办法
  • 电脑到u盘
  • Mac怎么设置默认排序方式
  • PHP中time(),date(),mktime()区别介绍
  • 如何解决焦虑
  • 行政事业单位 银行
  • php全局变量和局部变量
  • php显示错误报告方式
  • 第二季度企业所得税怎么计提
  • framework3.5启用
  • 前端发起请求怎么设置
  • 小规模纳税人申报表模板
  • 织梦cms不更新了吗
  • php5.6漏洞
  • 残疾人保障金所属期怎么填
  • 其他应收应付如何平账
  • 现金流量表的本期数是本月数还是本年数
  • 在SQL Server中使用存储过程的优点包括
  • windows下MySQL 5.7.3.0安装配置图解教程(安装版)
  • 出口不报关怎么收款
  • 销售边角料税率是多少
  • 盘盈存货账务处理
  • 进项转出分录需要盖章吗
  • 固定资产可资本化的后续支出
  • 招标公司的成本控制
  • 内控制度包括哪几方面
  • 在建工程前期费用明细
  • 税控盘清卡时间
  • 进项税转出补缴增值税 城建税及两费
  • 预付账款的
  • 专用发票金额大实际报销金额小会计分录怎么做
  • 应收账款和坏账准备的解题思路
  • 什么是结账?结账前要做哪些准备工作?
  • sql server数据库恢复
  • sql必会知识
  • 分类不同
  • 史上最简单的飞镖
  • win7如何给电脑硬盘加密
  • win10飞行模式怎么关掉没有图标
  • linux使用zsh
  • win10任务栏怎么变成透明
  • win7系统纯净版64位无法修改窗口颜色怎么办?Win7窗口颜色修改详细步骤
  • 有关表格边框的快捷键
  • shell sed 空格
  • cmd怎么复制上一条命令快捷键
  • unity 游戏
  • nodejs socket框架
  • shell 数组操作
  • 数字图像处理期末考试
  • div与script
  • 深入浅析是什么意思
  • jquery 插件写法
  • jquery原理和实现步骤
  • 沧州市养老保险局官网
  • 买下中国需要多少钱?
  • 财政临时工是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设