PHP에서 첫 번째 시도 및 서버가 PHP < 5.5 버전을 실행하므로 password_compat로 작업하고 있습니다.데이터베이스에서 다시 일치 할 수없는 소금에 절인 해시가있는 PHP 로그인 시스템
나는 데이터베이스에 자동으로 저장된 사용자 세부 정보 집합을 가지고 있습니다. 나는 데이터베이스를 조회,받을 확인하려면 각 사용자는 $random_salt = mcrypt_create_iv(24, MCRYPT_DEV_URANDOM);
에서 생성 된 고유 소금을 가지고 있는데 BLOB으로 데이터베이스에 보관하는 시도하고 그에 따라 나는 다음과 같은
$options = array('cost' => 8, 'salt' => $random_salt);
$password = password_hash($password, PASSWORD_BCRYPT, $options);
내 해시 된 암호를 저장 내 일치하는 salt 속성을 변수 $ salt에 전달하고 저장된 해시 암호를 가져옵니다. 마지막으로 다음을 사용하여
$options = array('cost' => 8, 'salt' => $salt);
$password = password_hash($password, PASSWORD_BCRYPT, $options);
$intVar = (int) password_verify($password, $db_password);
지금까지 단 하나의 로그인에 대한 결과는 일치하지 않습니다.
어디로 잘못 가고 있습니까? 소금에 대한 데이터베이스 속성 데이터 유형입니까? password_hash를 어떻게 사용합니까?
이 문제를 해결하고 솔루션을 게시하는 데 도움이됩니다 (및 upvote). – crafter