개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.16 16:58

password_verify 함수 사용 시 오류 해결 방법

목록
  • 제로데이헌터 8일 전 2025.04.16 16:58
  • 23
    1
안녕하세요 password_verify 함수를 사용할 때 오류가 발생하여 도움을 요청하고 싶습니다.

저는 PHP의 password_verify 함수를 사용하여 비밀번호를 확인하려 하지만, 항상 오류가 발생합니다.

오류 메시지는 다음과 같습니다: "Warning: password_verify(): Argument must be a string of bytes or a numeric string in..."

저는 password_verify 함수의 첫 번째 인자인 hashed_password(해시된 비밀번호)가 잘못된 것인 것 같아요. 하지만, password_hash 함수를 사용하여 해시된 비밀번호를 생성했는데도 오류가 발생합니다.

password_hash 함수의 인자값을 다음과 같이 사용했습니다:

php

$hashed_password = password_hash($password, PASSWORD_DEFAULT);



저는 password_verify 함수의 인자값을 다음과 같이 사용했습니다:

php

if (password_verify($input_password, $hashed_password)) {

    echo "비밀번호가 일치합니다.";

} else {

    echo "비밀번호가 일치하지 않습니다.";

}



저는 password_verify 함수에서 오류가 발생하는 이유를 모르겠습니다. 선생님의 도움을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  8일 전



    password_verify 함수의 첫 번째 인자인 hashed_password(해시된 비밀번호)가 잘못된 것은 아닙니다. 오류 메시지에서 "Argument must be a string of bytes or a numeric string"이라는 문구가 있습니다. 이는 password_verify 함수의 첫 번째 인자가 문자열이 아닌 다른 형태의 값이 들어간 때문입니다.

    password_hash 함수를 사용하여 해시된 비밀번호를 생성했을 때 오류가 발생하는 이유는 password_hash 함수의 인자값이 잘못된 것일 수 있습니다. PASSWORD_DEFAULT를 사용할 때는 PHP 7.0 이상이 필요합니다. PHP 버전이 낮은 경우 오류가 발생할 수 있습니다.

    또한, password_verify 함수의 두 번째 인자인 input_password도 문자열이 아닌 다른 형태의 값이 들어간 경우 오류가 발생할 수 있습니다.

    해결 방법은 다음과 같습니다.

    1. password_hash 함수의 인자값을 확인하여 PHP 버전이 7.0 이상인지 확인합니다.
    2. password_verify 함수의 두 번째 인자인 input_password을 문자열로 변환합니다.
    3. password_verify 함수의 첫 번째 인자인 hashed_password을 문자열로 변환합니다.

    예제를 통해 확인해 보겠습니다.

    #hostingforum.kr
    php
    
    $hashed_password = password_hash($password, PASSWORD_DEFAULT);
    
    
    
    $input_password = '비밀번호';
    
    $input_password = strval($input_password); // 문자열로 변환
    
    
    
    if (password_verify($input_password, $hashed_password)) {
    
        echo '비밀번호가 일치합니다.';
    
    } else {
    
        echo '비밀번호가 일치하지 않습니다.';
    
    }
    
    


    이러한 방법을 통해 password_verify 함수의 오류를 해결할 수 있습니다.

    2025-04-16 16:59

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 14,149건 / 109 페이지

검색

게시물 검색