Aula 05 - Classe password com hash




Nessa quinta aula você vai ver como faz para criar um hash do password usando uma função nativa do php, e além encriptar a senha com o hash, você vai ver como faz para criar um método somente para verificar se a senha digitada é a mesma encriptada no banco.

E também vou criar um autoload com o composer usando o psr-4, que é ótimo para criar um autoload com um namespace.

composer.json

{
    "require": {
        "php-activerecord/php-activerecord": "^1.1",
        "symfony/var-dumper": "^2.7"
    },
    "autoload":{
        "psr-4":{
             "App\\Models\\":"App/Models",
             "App\\Classes\\":"App/Classes",
             "App\\Interfaces\\":"App/Interfaces"
        }
    }
}

Password.php

namespace App\Classes;

class Password{

    public function hash($password){

        $options = [
              'cost' => 11,
              'salt'=>mcrypt_create_iv(22,MCRYPT_DEV_URANDOM)
        ];
        return password_hash($password,PASSWORD_BCRYPT,$options);
    }    

    public function verificarPassword($password,$hash){
        if(password_verify($password,$hash)){
            return true;    
        }
        return false;
    }
}