password_verify
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
password_verify — 암호가 해시와 일치하는지 확인합니다.
설명
password_verify(string $password
, string $hash
): bool
주어진 해시가 주어진 비밀번호와 일치하는지 확인합니다.
password_hash()는 반환된 해시의 일부로 알고리즘, cost 및 salt을 반환합니다. 따라서 해시를 확인하는 데 필요한 모든 정보가 포함됩니다. 이를 통해 검증 함수는 솔트 또는 알고리즘 정보를 별도로 저장할 필요 없이 해시를 검증할 수 있습니다.
이 함수는 타이밍 공격에 대해 안전합니다.
매개변수
password
- 사용자의 암호입니다.
hash
- password_hash()에 의해 생성된 해시입니다.
반환 값
암호와 해시가 일치하면 true
를 반환하고 그렇지 않으면 false
를 반환합니다.
Examples
예제 #1 password_verify() 예제
<?php
// See the password_hash() example to see where this came from.
$hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq';
if (password_verify('rasmuslerdorf', $hash)) {
echo 'Password is valid!';
} else {
echo 'Invalid password.';
}
?>
위의 예는 다음을 출력합니다.
Password is valid!
기타
- password_hash() - 비밀번호 해시 생성
- » userland implementation
- sodium_crypto_pwhash_str_verify() - 비밀번호가 해시와 일치하는지 확인