位置: 编程技术 - 正文

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)

  • 海南增值税发票图片
  • 个税手续费返还要交增值税吗
  • 外商投资合伙企业的性质与特征
  • 工会经费的会计核算方法
  • 员工宿舍买热水器计入什么费用
  • 发票清单可以用a4
  • 现金流量表余额等于货币资金吗
  • 编制利润表会计等式
  • 已认证进项发票转出会计分录
  • 预收物业费如何填报申报表
  • 国外出差差旅费
  • 实收资本不到账如何做凭证
  • 企业代扣代缴的个人所得税应通过税金及附加科目核算
  • 出差报销单可以委托他人签字吗
  • 生产企业电费要不要计提?
  • 律师事务所收费单据
  • 营改增账务处理举例
  • 房地产开发企业会计科目
  • 税前不得扣除的项目
  • 收付实现制与权责发生制的区别
  • 产生的多缴税款怎么做账
  • 增值税做账做错怎么处理
  • 新开的公司会计需要做什么
  • 给子公司员工发放奖金合法吗
  • macbook怎么和ipad
  • 配电安装施工方案
  • 个体工商户与其经营者构成共同侵权吗
  • 金税盘的服务费
  • sentstrt.exe - sentstrt进程是什么文件 有什么用
  • 劳动合同到期补偿金怎么算
  • 明细账是什么样子
  • 关联方借款利息所得税前扣除
  • 契税计税依据是成交价还是评估价?
  • framework怎么用
  • phpfor循环语句
  • 账户维护费计入什么会计科目
  • 理财资金用途
  • 工程公司项目管理部管理制度
  • 帝国cms插件编写教程
  • 物流企业财务流程
  • 如何检查文件是否有毒
  • 税局代个人开增值税普通票样板
  • 减免增值税记账
  • 公司一年的账目怎样算
  • 企业的经营业务
  • 网上代增值税专用发票
  • 评估增值净利润调减
  • 发票普通发票
  • 外经证如何缴税
  • 外币交易的账户设置
  • 企业票据贴现属于什么业务
  • 施工企业人工费控制措施
  • 未开票收入怎么填写增值税申报表
  • 多少金额以上算固定资产
  • 资产质量的相对性举例说明
  • 工业企业辅助生产费用的分配方法
  • mysql冗余字段
  • sql server储存过程的创建与使用
  • win7系统c盘太满了,如何清理
  • Win10预览版拆弹
  • blos是什么意思
  • win ubuntu
  • 电脑桌面图标有虚影怎么回事
  • linux 数据恢复
  • js require()
  • bootstrap-Treeview实现级联勾选
  • 手机摇一摇插件
  • 持久化存储数据的方式
  • Android游戏开发读后感
  • 什么是四个菜
  • node.js安装模式选择
  • 非法文件名是什么
  • Python中使用Queue和Condition进行线程同步的方法
  • javascript入门经典
  • 21个JavaScript事件(Events)属性汇总
  • 安卓自动登录脚本
  • 变更主管税务机关需要注销吗
  • 12366纳税服务热线坐席人员
  • ppr管材税收编码
  • 综合所得税包括哪些内容
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设