当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP password_needs_rehash()用法及代码示例



这个password_needs_rehash()函数可以检查给定的散列是否与给定的选项匹配。

用法

boolean password_needs_rehash ( string $hash , integer $algo [, array $options ] )

password_needs_rehash() 函数可以检查提供的散列是否实现了提供的算法和选项。如果不是,则假定散列需要重新散列。

如果散列可以重新散列以匹配给定的算法和选项,则 password_needs_rehash() 函数可以返回 true,否则返回 false。

示例

<?php
   $passw01 = "53nh46u74m3nt3";
   $hashp03 = '$argon2i$v=19$m=1024,t=2,p=2$d1JJWnNHMkVEekZwcTFUdA$zeSi7c/Adh/1KCTHddoF39Xxwo9ystxRzHEnRa0lQeM';
   $algo03 = PASSWORD_ARGON2I;

   $test03 = password_verify($passw01, $hashp03);
   $conf03 = password_needs_rehash($hashp03, $algo03);

   if($conf03 == true) {
      echo "HASH NEEDS TO BE REHASHED!<br>SUGGESTED FOR THE NEW HASH:<br>";
      $nwhas03 = password_hash($passw01, $algo03);
      echo $nwhas03;
   } else {
      echo "HASH DOES HAS NO NEED TO BE REHASHED!<br>";
      echo $hashp03;

      $getinfo03 = password_get_info($hashp03);

      echo "<br><br>algo = " . $getinfo03["algo"] . "<br>algoName = " . $getinfo03["algoName"] . "<br>memory_cost = " 
           . $getinfo03["options"]["memory_cost"] . "<br>time_cost = " . $getinfo03["options"]["time_cost"] 
           . "<br>threds = " . $getinfo03["options"]["threads"] . "<br><br>";  
   }
?>

输出

HASH NEEDS TO BE REHASHED!<br>SUGGESTED FOR THE NEW HASH:<br>$argon2i$v=19$m=65536,t=4,p=1$dDVDRWFFTS9ObjFQMmhuRw$1uWmsNTQBbrwXtQPB7PQqWWIlcd0XBqg2mEDHGaElew

相关用法


注:本文由纯净天空筛选整理自 PHP - password_needs_rehash() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。