update : 2015.11.03
php.shukuma.com

검색:
 
 
Checks if the given hash matches the given options

password_needs_rehash

(PHP 5 >= 5.5.0)

password_needs_rehashChecks if the given hash matches the given options

설명

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

This function checks to see if the supplied hash implements the algorithm and options provided. If not, it is assumed that the hash needs to be rehashed.

인수

hash

password_hash() 함수로 생성한 해시.

algo

패스워드 알고리즘 상수는 패스워드를 해싱할 때 사용할 알고리즘을 나타냅니다.

options

옵션을 포함하는 연관 배열. 각 알고리즘에서 지원하는 옵션은 패스워드 알고리즘 상수 문서를 참고하십시오.

예제

Example #1 Usage of password_needs_rehash()

<?php

$password 
'rasmuslerdorf';
$hash '$2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS';

// The cost parameter can change over time as hardware improves
$options = array('cost' => 11);

// Verify stored hash against plain-text password
if (password_verify($password$hash)) {
    
// Check if a newer hashing algorithm is available
    // or the cost has changed
    
if (password_needs_rehash($hashPASSWORD_DEFAULT$options)) {
        
// If so, create a new hash, and replace the old one
        
$newHash password_hash($passwordPASSWORD_DEFAULT$options);
    }

    
// Log user in
}
?>

반환값

Returns TRUE if the hash should be rehashed to match the given algo and options, or FALSE otherwise.