CI 묻고 답하기

제목 password_verify 가 작동안하는데 도와주실 수 있나요
카테고리 일반
글쓴이 구르마도리 작성시각 2020/03/20 14:31:55
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 139   RSS

$input_pw = trim($this->input->post('password')); // 로그인창에서 받은 비번

//정상적으로 값 들어옵니다. 

 

$db_user_data = $this->User_model->getById(array('id'=>$input_id)); //데이터 조회

$hash = $db_user_data->password;

 $hash_pw = trim($hash);

//정상적으로 해시값 조회됩니다. 

 

if(password_verify($input_pw, $hash_pw)){

            log_message('debug', '>>>>>>>>>>> login success >>>>>>>>>>>');

        }else{

            log_message('debug', '>>>>>>>>>>> login fail >>>>>>>>>>>');

        }

무조건 fail만 뜹니다. 

 

db는 password 컬럼은 VACHAR 255글자고 $input_pw를 직접입력해보고

$hash_pw 도 직접입력해봤습니다. 

 

php 7.2버전이고 코드이그나이터는 3버전입니다. 

 

 다음글 json, ajax 포팅 관련 질문 (3)
 이전글 ci4 DB인스턴스 초기화 관련해서 (3)

댓글

변종원(웅파) / 2020/03/20 14:53:39 / 추천 1

아래 소스 돌려서 true 나오는지 보세요. 

$a = password_hash('1234567890', PASSWORD_BCRYPT);
echo $a;
echo '<br>';
$b = password_verify('1234567890', $a);
var_dump($b);
구르마도리 / 2020/03/20 15:10:25 / 추천 0
해당 코드는 TRUE 가 뜨네요... AJAX 써서그런가... 다시 해보겠습니다. 짐심으로 감사합니다. 
구르마도리 / 2020/03/20 15:41:48 / 추천 0
변종원님 감사합니다. 해결했습니다. 
변종원(웅파) / 2020/03/20 17:39:09 / 추천 0
구르마도리/ 어떻게 해결됐는지 올려주시면 다른 분들께도 도움이 됩니다. 해결되서 다행입니다. ^^
구르마도리 / 2020/03/21 10:11:55 / 추천 0
함수랑 상관없이 제가 변수명 잘못넣은 부분이있었는데 그 부분수정하고나니까 숫자로 비밀번호 입력시에 트루 떠서 된줄알았습니다만... 특수문자나 비밀번호가 길어질시에 다시 트루가안뜨길래 md5로 바꿔버렸습니다 ㅠㅜ md5로 바꾸니까 바로되늠군요