몇 가지 간단한 유효성 검사를 수행하는 사용자 클래스가 있습니다. phpass를 사용하여 모든 암호를 해시로 저장하려고합니다. 그러나, 나는 해시를 설정하는 User 클래스의 일이되기를 원하지 않는다. 이것은 다른 함수의 일이다. 따라서 setPassword라는 간단한 함수가 있다면 어떻게 암호가 해시인지 확인할 수 있습니다. is_binary가 작동합니까 ?? 나는 여기에 해시를 비교하지 않고있다. 나는 암호가 해시인지 확인하고 싶다. 어떤 종류의 md5 .. sha1 ... ㅋ. 나는 그 암호가 해시인지 확인하기 만하면된다.암호가 해쉬인지 확인하는 방법 - PHP
예 :
class User
{
private password = NULL;
private $errors = array();
public function setPassword($password)
{
// make sure password is a hash...pseudo code
if (!password_is_hash($password))
{
$this->errors[] = 'Invalid password';
return $this;
}
$this->password = $password;
return $this;
}
public function getPassword()
{
return $this->password;
}
}
"해시"란 무엇을 의미합니까? 'md5 ('foo')'는 해시'acbd18db4cc2f85cedef654fccc4a4d8'를 뱉어 내며, 이것은 또한 스스로 완벽하게 유효한 암호가 될 수 있습니다 ... 기술적으로 ** ANY ** 32char 16 진수 문자열은 md5 해시입니다. 그것이 무엇의 해시인지 말해. –
예. 암호가 데이터베이스에서 들어오고 나가는 것과 같은 암호가 아닌지 확인하는 방법이 있습니까? 사용자가 비밀번호를 게시 할 수 있다고 생각합니다. 가장 좋은 방법은 없을 것입니다. setPassword 함수를 사용하여 데이터베이스에 들어오고 나가는 것이 해시 된 암호인지 확인해야합니다. 그래서 myfavoritepassword. – user2707535
일반적으로 암호 해싱은 도메인 개체가 아닌 * 인증 *의 일부가됩니다. * 해시 된 암호 만 전달합니다. – AlexP