나는 학습 프로젝트로 PHP에서 로그인 스크립트를 함께 시도하고있다.PHP 보안 로그온 스크립트 - md5 해시가 이전 스크립트에서 데이터베이스에 쓴 해시와 일치하지 않습니까?
사용자 등록시 데이터베이스 쓰기 코드입니다. 이 두 값은 모두 데이터베이스에 기록됩니다.
$this->salt = md5(uniqid());
$this->password = md5($password.$salt);
로그인하면 다음 기능이 실행됩니다.
불행히도 내 코드를 단계별로 실행하면 두 값이 같지 않습니다. 누군가 제가 왜 이해하는지 도울 수 있습니까?
$ publicSalt 데이터베이스에서 사용자의 소금이며, 올바른 사용해야합니까? 암호의 md5를 생성 할 때'$ this-> salt = md5 (uniqid()); –
두 번째 블록에서 $ storedPassword와 $ actualPassword의 차이는 오타 일뿐입니다? –
예, 맞습니다. –