位置: 编程技术 - 正文

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)

  • 何谓关税
  • 企业销售商品房需要缴纳什么税费
  • 装修消防费用摊销几年
  • 讲师讲课费标准2019
  • 退增值税需要多久
  • 个体户每月超过30万
  • 手撕发票怎么领取需要什么证件
  • 增值税转型前后对比
  • 长期负债营运资金比率公式
  • 自行建造固定资产中的自营工程,在领用工程物资
  • 可供出售金融资产计入什么科目
  • 小规模附加税减免政策2023最新
  • 同一张记账凭证可以出现多笔分录吗
  • 电子承兑过期后怎么兑现处理合适呢?
  • 递延所得税当期所得税费用
  • 工程暂估价超了怎么办
  • 个税中的年金是什么意思
  • 购入材料用什么科目
  • 商标使用权入股可以退出吗
  • 用友u8怎样查询上个月凭证
  • 全年一次性奖金计税方式
  • 税务审计什么时候进行
  • 护栏发票税点
  • 印花税核定表申请
  • 投资协议需要注意细节
  • 股票派息后会除权吗
  • 电信增值税发票怎么抵扣
  • 每月固定电话费是半固定成本吗
  • 其他权益工具投资公允价值变动怎么计算
  • 哪些情形需要办理外债审核登记
  • windows11正式版好用吗
  • 手工做账月末怎么结转
  • thinkphp 路由
  • PHP 中 Orientation 属性判断上传图片是否需要旋转
  • win10电源和睡眠设置不起作用
  • php数组函数题目
  • 股份支付如何缴纳个人所得税?
  • 会计凭证出现的问题
  • 外汇业务的核算ppt
  • 差旅费津贴为什么不交个人所得税
  • 什么企业需要预缴所得税
  • Sandilands省级森林中被白霜覆盖的番红花,加拿大曼尼托巴 (© Jaynes Gallery/Danita Delimont)
  • php使用什么开发工具
  • 结转本月完工产品的成本
  • LangChain与大型语言模型(LLMs)应用基础教程:信息抽取
  • 浅析论文题目
  • 子公司破产对母公司是利好还是利空
  • php的基本知识
  • python 字典的字典
  • 从汽车生产到销售有哪些过程
  • sql中order by的用法
  • 全年一次性奖金并入或单独哪个好
  • 印花税如何计提缴纳
  • 合作社财政补助平均量化
  • 医院外聘专家费用报销流程
  • 社保年度汇算清缴怎么做
  • 客户要赔偿怎么回复
  • 运费发票没到可以先计提吗
  • 设计服务的成本核算
  • 费用报销单人民币符号
  • 房地产企业预付账款会计分录
  • 企业会计档案由谁保管
  • sql多条件组合条件的先后顺序
  • mysql闪退怎么回事
  • service login
  • xp系统为什么网页打不开了
  • debian10.6安装教程
  • linux网络编程宋敬彬pdf
  • mac识别文字软件
  • linux操作系统的基本操作
  • linux find命令的使用
  • python 数据结构 算法
  • js类的实现
  • bootstrap js插件
  • adb push、adb install 和强制安装
  • 电子税务局更改密码怎么改
  • 机票的抵扣率是多少
  • 河北省国家税务局长简介
  • 什么东西的海关不能寄
  • 哪些账本需要贴纸
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设