Password_hash() 함수는 해시 값이 지정된 옵션과 일치하는지 확인하는 데 사용됩니다.
PHP 버전 요구 사항: PHP 5 >= 5.5.0, PHP 7
문법
bool 비밀번호_needs_rehash ( 문자열 $hash , int $algo [, 배열 $options ] )
매개변수 설명:
hash:password_hash()에 의해 생성된 해시 값입니다.
algo: 비밀번호를 해싱할 때 사용되는 알고리즘을 나타내는 데 사용되는 암호화 알고리즘 상수입니다.
옵션: 옵션을 포함하는 연관 배열입니다. 현재 지원되는 옵션은 salt, 비밀번호 해싱 시 추가되는 salt(간섭 문자열), 그리고 알고리즘 재귀 수준 수를 지정하는 데 사용되는 cost입니다. 이 두 값의 예는 crypt() 페이지에서 찾을 수 있습니다. 생략하면 임의의 솔트 값과 기본 비용이 사용됩니다.
반환 값
이 함수는 지정된 해시 값이 제공된 알고리즘 및 옵션을 구현하는지 여부를 감지합니다. 그렇지 않은 경우 해시 값을 다시 생성해야 합니다.
예
Password_needs_rehash() 사용법
<?php $password = ' rasmuslerdorf ' ; $hash = ' $2y$10$YCFsG6elYca568hBi2pZ0.3LDL5wjgxct1N8w/oLR/jfHsiQwCqTS ' ; // 비용 매개변수는 하드웨어 성능이 향상되면 수정될 수 있습니다. $options = array ( ' cost ' => 11 ) ; // 일반 텍스트 비밀번호와 비교하여 저장된 해시를 확인합니다. 만약에 ( 비밀번호_확인 ( $password , $hash ) ) { // 사용 가능한 최신 해시 알고리즘이 있는지 확인합니다. // 또는 비용 변경 만약에 ( 비밀번호_필요_rehash ( $hash , PASSWORD_DEFAULT , $options ) ) { // 그렇다면 이전 해시를 대체하여 새 해시를 생성합니다. $newHash = 비밀번호_해시 ( $ password , PASSWORD_DEFAULT , $options ) } // 사용자가 로그인할 수 있도록 설정 } ?>