인프런 커뮤니티 질문&답변

Henu님의 프로필 이미지
Henu

작성한 질문수

PHP 7+ 프로그래밍: 객체지향

37 - 인증 (Auth)

password_verify(string, hash) 함수가 매번 false가 나오는 것에 대한 해결 방법이 궁금합니다.

해결된 질문

작성

·

252

1

안녕하세요, 프로젝트 '인증' 파트에서 로그인 시 입력하게 되는 이메일과 비밀번호를 AuthController, AuthService를 통해 처리하는 것을 확인 할 수 있었습니다.

저는 현재  PHP 8.0.0 버전으로 코딩을 진행하고 있습니다.

다만, AuthService::login 로직에서 password_verify(string, hash)가 항상 false로 결과 값이 반환되는 것을 확인했습니다.

처음에는 예제 코드를 타이핑하는데 오탈자가 있었나 확인해 보았지만 그런 경우는 없었습니다.

이와 동일한 이슈에 대해 찾아보았으나 여러 개 있었고, 그 중 PHP 8 환경에서의 이슈를 다룬 블로그를 발견했습니다.

(https://blog.naver.com/PostView.nhn?blogId=gwi01304&logNo=222269515571)

PHP 버전 업데이트가 되면서 해당 함수의 동작 방식이 달라진 것인지 알 수 있을까요?

혹시 몰라서 저의 깃헙 레포지토리 URL을 여기에 공유해 드리겠습니다.

GitHub URL: https://github.com/painkill2r/php-oop-project

=============================================

추가적으로 password_verify(string, hash) 함수의 동작 원리에 대해 궁금합니다.

PHP Manual에서도 내부 동작 원리가 어떻게 되는지는 기재되어 있지 않더라구요.

첫 번째 인자로 주어진 string 값을 내부적으로 password_hash() 함로 암호화(?)하고, 이를 두 번째 인자와 비교하는게 맞을까요?

 

 

답변 1

0

Henu님의 프로필 이미지
Henu
질문자

자답입니다.

namespace App\Services\AuthService::login 메소드의 return 방식을 잘못 설정했던 문제였습니다.

몇일을 고민하다가 이제야 찾게되었네요.(엄청난 삽질...)

[수정 전]

[수정 후]

 

Henu님의 프로필 이미지
Henu

작성한 질문수

질문하기