位置: 编程技术 - 正文

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)

  • 进出口税则是什么意思
  • 增值税普通发票和电子普通发票的区别
  • 劳务公司开出的工程服务费专用发票怎么计费
  • 如何理解合并报表中少数股东损益的抵消
  • 费用计入管理费用与销售费用的区别
  • 可以直接申请一般纳税人吗
  • 珠宝首饰可以开发票吗
  • 投资收益企业所得税优惠政策
  • 高新技术企业费用认定
  • 长期借款费用会减少吗
  • 物料损耗会计分录
  • 税务局即征即退自查报告
  • 餐饮发票怎么进行财税处理?
  • 销售不动产增值税税率变化
  • 可供出售金融资产属于流动资产吗
  • 免税销售额对应的进项税额
  • 营业费用包括哪些明细科目内容
  • 非同一控制下合并报表编制
  • 公司自有房屋出租 营业范围
  • bios升级失败后如何恢复
  • 要看网怎么找
  • 不征税收入如何记账
  • 根据完工进度确认成本
  • 设备租赁费属于固定成本吗
  • 公司要交什么税个人卖给公司的二手车
  • 如何使用wireshark抓取HTTP数据包?
  • 80岁以上老年卡上的钱如何消费
  • 公司注销账面实收资本如何处理
  • 宣传活动费用什么发票开?
  • 神经网络模型是干嘛的
  • taskset 绑定cpu
  • unix命令大全详解
  • 财产赔偿账务处理办法
  • 工资计提发放会计科目
  • 收到返利冲成本还是记收入
  • 手机充值如何开公司发票
  • 资产负债表不能有负数吗
  • 制造企业预提短期借款利息的会计科目处理
  • mysql 缓冲区
  • 应交税费明细科目设置最新
  • 固定成本和变动成本包括哪些
  • 当月进项税额大但是也要交增值税吗
  • 人民币支付结算系统CIPS
  • 收到政府补贴如何做帐
  • 无成本票如何避税
  • 待处理财产损益的账务处理
  • 运杂费扣除增值税进项税额
  • 小规模纳税人劳务费税率
  • 未认证的发票不入账有什么影响
  • 管理费用和销售费用属于什么科目
  • 对公账户是不是哪个银行都可以
  • 商业汇票贴现必须具备的条件
  • mysql 5.7 8.0
  • mysql三层架构
  • 使用http_load来给Linux系统的服务器做压力测试
  • gcasInstallHelper.exe是什么进程 作用是什么 gcasInstallHelper进程查询
  • 神墓凌云
  • win10安装不了ie
  • macos的磁盘
  • win8metro版桌面安卓下载
  • linux的samba是什么
  • win7远程桌面连接怎么设置
  • js如何使用
  • Cocos2dx3.2 Crazy Tetris 基本设置及主菜单页面(菜单、按钮)
  • 零磁道的重要性
  • 批处理文件.bat
  • jquery图片自动滚动
  • 从零基础开始
  • unity数据结构和算法
  • javascript的引用类型
  • python怎么弄中文
  • unity she
  • jquery版本区别
  • 长沙税务网站查询系统
  • 税控设备可以在电子税务局上买吗
  • 济南高新区国家税务局
  • 国税纳税申报表打印
  • 税务人员少征税款
  • 工业厂房房产税什么时候开始征收
  • 山西省税务局官网登录
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设