password_hash() 函数用于检测散列值是否匹配指定的选项。

PHP 版本要求: PHP 5 >= 5.5.0, PHP 7高佣联盟 www.cgewang.com

语法

bool password_needs_rehash ( string $hash , int $algo [, array $options ] )

参数说明:

  • hash: 一个由 password_hash() 创建的散列值。
  • algo: 一个用来在散列密码时指示算法的密码算法常量。
  • options: 一个包含有选项的关联数组。目前支持两个选项:salt,在散列密码时加的盐(干扰字符串),以及cost,用来指明算法递归的层数。这两个值的例子可在 crypt() 页面找到。 省略后,将使用随机盐值与默认 cost。

返回值

此函数检测指定的散列值是否实现了提供的算法和选项。 如果没有,需要重新生成散列值。

实例

password_needs_rehash() 用法

<?php $password = 'rasmuslerdorf'; $hash = '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS'; // 当硬件性能得到改善时,cost 参数可以再修改 $options = array('cost' => 11); // 根据明文密码验证储存的散列 if (password_verify($password, $hash)) { // 检测是否有更新的可用散列算法 // 或者 cost 发生变化 if (password_needs_rehash($hash, PASSWORD_DEFAULT, $options)) { // 如果是这样,则创建新散列,替换旧散列 $newHash = password_hash($password, PASSWORD_DEFAULT, $options); } // 使用户登录 } ?>

最新文章

  1. 2.5多重else嵌套的二次方程求根
  2. POJ1274 The Perfect Stall[二分图最大匹配]
  3. 微信小程序 wx.uploadFile在安卓手机上面the same task is working问题解决
  4. SU suvelan命令学习
  5. 【转】如何用 Chrome for Android 做远程遥控 debugging
  6. c标签设置jsp页面的绝对路径
  7. POJ 1004 解题报告
  8. (转)Linux下tomcat JVM内存设置步骤
  9. c++类型转换Type Cast)
  10. 安装 php
  11. iOS9中请求出现App Transport Security has blocked a cleartext HTTP (http://)
  12. Boost.Python:使用继承
  13. EntityFramework5提供的迁移工具
  14. AVL树的单双旋转操作
  15. hibernate.dialect是干嘛用的?
  16. Ignite(一): 概述
  17. 基于java webRct webSocket 实现点对点视频 (需要源码的请加支付宝好友)
  18. Linux搭建bugfree
  19. Word中一条删除不掉的单或双横线的解决办法
  20. 用python进行桌面程序开发

热门文章

  1. Spring Cloud Alibaba系列(六)sentinel的实际应用
  2. 使用CodeMirror插件遇到的问题
  3. XSS原理及代码分析
  4. POJ 1046 Color Me Less 最详细的解题报告
  5. python处理json总结
  6. OSCP Learning Notes - Enumeration(4)
  7. Burp Suite Extender Module - 扩展模块
  8. C++ RMQ问题
  9. 像写Flutter一样开发Android原生应用
  10. vscode用MinGW和Clang配置C++环境