位置: 编程技术 - 正文

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)

  • 有金额的框架协议要交印花税吗
  • 公司购买的打印机
  • 坏账计提坏账准备
  • 新公司注册资金需要实缴吗
  • 什么叫企业过桥资金
  • 除了缴纳的税金还有什么
  • 小规模纳税人开票税率
  • 私立医院收到投诉信
  • 雇主责任险保费计算公式
  • 银行收到一笔款可以分开入账吗
  • 因质量问题怎么赔偿
  • 公司抵扣发票不用交税吗
  • 企业盈利后又亏损怎么算
  • 旧的活动板房多少钱一个
  • 耕地占用税与土地出让金
  • 月销售额小于10万的一般纳税人减免
  • 服务费发生退回怎么处理
  • 汇兑差额会计处理
  • 补贴收入营业外收入比例过高
  • 车辆购置税会计科目怎么做账
  • 进口报关费用会计分录
  • php怎么自学
  • git可以管理二进制文件吗
  • 报销差旅费会计科目怎么写
  • 竣工结算的依据有哪些?
  • 路由器怎么才能用
  • 个人通讯费可以税前扣除吗
  • 一个简单的html文档一般且必须包含哪些标签
  • 商业零售企业存货非正常损失
  • 短期贷款利息支出计算
  • 生产车间人员招聘要求
  • GANs系列:CGAN(条件GAN)原理简介以及项目代码实现
  • php会员到期功能
  • mkfifo命令
  • 微服务docker打包规范
  • 个人个税汇算清缴怎么做
  • 新开办公司如何办理金税盘
  • wordpress建立数据库失败
  • mysql中join的用法
  • mongodb部署安装
  • 公司之间往来款需要交税吗
  • 补交土地税要交多少钱
  • 水电费计提是什么意思
  • 房地产行业概况
  • 库存股处理方法有哪些
  • 存货跌价准备可以转回吗?
  • 年化收益率怎么算收益率
  • 出售转让固定资产的账务处理
  • 内含增长率的推导
  • 商品盘点短缺
  • 多缴的印花税怎么抵下次税费
  • 实物投资需要缴纳增值税吗
  • 缴纳税款滞纳金应计入哪个科目
  • 过期食品返厂会重新打日期吗
  • 工会经费能零申报保存不起
  • 劳动关系从什么时候确立
  • 加班餐补需要发票嘛
  • 清卡流程图
  • 设备融资租赁会上征信吗
  • macos mysql
  • centos 6.6安装教程
  • 无线网卡搜索不到无线网
  • win10系统怎么查询ip
  • GhostXP_SP3活力版V3.0_系统之家首发
  • win10打开资源管理器很慢
  • 在vs中搭建opengl环境
  • angular.js
  • python自动化处理
  • perl getoption
  • perl正则表达式匹配 \w \s
  • Node.js中的事件循环是什么意思
  • settimeout和setinterval在安卓机无效
  • get调用接口
  • 使用express
  • java 同步方法和同步代码块区别
  • java栈怎么写
  • jQuery easyUI datagrid 增加求和统计行的实现代码
  • 棚户区改造的回迁房可以交易吗?
  • 地税公职律师招聘
  • 土地要钻几回才能挖
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设